1.代码
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def isPalindrome(self, head: Optional[ListNode]) -> bool:
point = head
read = []
read.append(head.val)
while(point.next != None):
point = point.next
read.append(point.val)
left = 0
right = len(read) - 1
flag = True
while(left <= right):
if(read[left] != read[right]):
flag = False
left = left+1
right = right-1
return flag
2.思路
首先依次把链表中的元素读入数组,然后每次检查数组left和right指向的元素是否相等,直至left和right相遇。