class Solution:
    def isPalindrome(self, head: ListNode) -> bool:

        string = ''

        while(True):

            val = head.val
            string = (str(val) + string + str(val))

            if head.next is None:
                break

            head = head.next

        middle_idx = int(len(string)/2)

        return string[:middle_idx] == string[middle_idx:]

Runtime: 2712 ms, faster than 5.07% of Python3 online submissions for Palindrome Linked List.
Memory Usage: 47.3 MB, less than 23.15% of Python3 online submissions for Palindrome Linked List.


11

2112

221122

12211221

O(n) time and O(1) space 를 의식한 아이디어였는데 문자열 concat 시간이 너무 많이 소요된다;;;;

그러고보니 forward_str, reverse_str 두 개의 변수를 가지고 있어도 공간복잡도가 O(1) 일텐데?? ㅋ