83/82. Remove Duplicates From Sorted List I/II

  1. 注意在每次操作之前preNone和curNone的链接要切断,包括初始的时候dummy和head也是不相连的。
    def deleteDuplicates(self, head):
        """
        :type head: ListNode
        :rtype: ListNode
        """
        if not head or not head.next:
            return head
        
        # 初始化dummy和head不连接
        dummy = ListNode(head.val-1)
        pre = dummy
        cur = head
        real = dummy
        while cur:
            last = cur.next
            if cur.val != pre.val and (not last or cur.val != last.val):
                real.next = cur
                real = real.next
                
            # 完成之后获取下一轮的pre和cur, 并切断pre和cur之间的联系
            pre = cur
            cur = cur.next
            pre.next = None

        return dummy.next
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容