题解 | #判断一个链表是否为回文结构#

判断一个链表是否为回文结构

http://www.nowcoder.com/practice/3fed228444e740c8be66232ce8b87c2f

思路:将链表倒序排序之后再与原始表比较是否相等

正确的实现代码:

class Solution:
    def isPail(self , head: ListNode) -> bool:
        # write code here
        cur = head
        N0 = ListNode(-1)
        while cur:
            temp = N0.next
            N0.next = ListNode(cur.val)
            N0.next.next = temp
            cur = cur.next
        reversehead = N0.next
        while head:
            if head.val != reversehead.val:
                return False
            else:
                head = head.next
                reversehead = reversehead.next
        return True
    
    def reverseListNode(self, head: ListNode) -> ListNode:
        prehead = None
        while head:
            temp = head.next
            head.next = prehead
            prehead = head 
            head = temp
        return prehead

错误代码: 误区:不能在同一链表上做倒排操作

    def isPail(self , head: ListNode) -> bool:
        # write code here
        cur = head 
        reversehead = self.reverseListNode(cur)
        while head:
            if head.val != reversehead.val:
                return False
            else:
                head = head.next
                reversehead = reversehead.next
        return True
    
    def reverseListNode(self, head: ListNode) -> ListNode:
        prehead = None
        while head:
            temp = head.next
            head.next = prehead
            prehead = head 
            head = temp
        return prehead
全部评论

相关推荐

08-23 20:17
四川大学 C++
xxxzsfa:技术栈可以参考我这个给写,把知识点写出来起码能让面试官知道你是知道这个点的,不会的知识点可以不写,简历上写了但又答不上来就很尴尬了,可以给技术栈中的知识点和项目中的难点亮点加粗,学历不错,肯定会有大厂面的,刚开始可以先投中小厂练手,拿个offer保底再去面大厂,秋招可以正式和实习一起找,找工作是个需要长期坚持的过程,加油查看图片
点赞 评论 收藏
分享
10-15 20:01
已编辑
上海大学 Java
钉钉什么垃圾公司,约面鸽人
光年在眼前:不是坏事,感觉钉钉挺逆天的,二面结束还给我留作业,让我使用钉钉和看最新的发布会,然后说感受,我是应该不会去,三面直接拒绝不面了
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务