1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| class Solution:
def isPalindrome(self, head: Optional[ListNode]) -> bool:
slow = fast = head
while fast and fast.next:
slow = slow.next
fast = fast.next.next
prev = None
while slow:
tmp = slow.next
slow.next = prev
prev = slow
slow = tmp
while prev:
if prev.val != head.val:
return False
prev = prev.next
head = head.next
return True
|