题目:
示例 1:
示例 2:
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def isPalindrome(self, head: ListNode) -> bool:
judge = []
while head:
judge.append(head.val)
head = head.next
return judge == judge[::-1]
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def isPalindrome(self, head: ListNode) -> bool:
i ,length= head, 0
if not head:
return 1 == 1
while i:
length += 1
i = i.next
stack = []
r = head
k = length//2
if length % 2 != 0:
k+=1
for x in range (k):
stack.append(r.val)
r = r.next
if length % 2 != 0 and x == length//2:
stack.pop()
for j in reversed(stack):
if j == r.val:
stack.pop()
r = r.next
return len(stack) == 0
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/d_l_w_d_l_w/article/details/121899774
内容来源于网络,如有侵权,请联系作者删除!