234. Palindrome Linked List
Easy
Given the head
of a singly linked list, return true
if it is a palindrome.
Example 1:
Input: head = [1,2,2,1]
Output:
true
Example 2:
Input: head = [1,2]
Output:
false
Constraints:
The number of nodes in the list is in the range
[1, 105]
.0 <= Node.val <= 9
Follow up: Could you do it in O(n)
time and O(1)
space?
class Solution:
def isPalindrome(self, head: Optional[ListNode]) -> bool:
s = ""
t = ""
def recursion(head):
nonlocal s
nonlocal t
if not head:
return
s += str(head.val)
recursion(head.next)
t += str(head.val)
recursion(head)
return s == t
Last updated