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

版权声明:
作者:iLemonRain
链接:http://314401480.xyz/?p=360
来源:柠檬酱的blog
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>