NC96 判断一个链表是否为回文结构
题目描述
描述
给定一个链表,请判断该链表是否为回文结构。
示例1
输入:
[1]
返回值:
true
示例2
输入:
[2,1]
返回值:
false
说明:
2->1
示例3
输入:
[1,2,2,1]
返回值:
true
说明:
1->2->2->1
解题思路
先遍历链表把所有val写入list,然后用头尾指针判断是不是头尾指针指向的值相等,一直遍历到start>end。
注意start和end不能越界。
解题代码
class Solution:
def isPail(self, head):
node = head
arr = []
while node is not None:
arr.append(node.val)
node = node.next
size = len(arr)
start, end = 0, size-1
while start <= end and start <= size-1 and end >= 0:
if arr[start] != arr[end]:
return False
start += 1
end -= 1
return True
执行结果
1471ms 226596KB
共有 0 条评论