回文链表
请判断一个链表是否为回文链表。
示例 1:
输入: 1->2
输出: false
示例 2:
输入: 1->2->2->1
输出: true
进阶:
你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?
作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnv1oc/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
# 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: ListNode) -> bool:
cnt = 0
record = []
while head:
cnt+=1
record.append(head.val)
head = head.next
for i in range(cnt//2):
if record[i]==record[cnt-i-1]:
continue
else:
return False
return True
执行结果:
通过
显示详情
执行用时:752 ms, 在所有 Python3 提交中击败了17.22%的用户
内存消耗:47.6 MB, 在所有 Python3 提交中击败了16.64%的用户