移除重复节点

作者: _阿南_ | 来源:发表于2020-03-18 15:32 被阅读0次

    题目:

    编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。
    
    示例1:
    
     输入:[1, 2, 3, 3, 2, 1]
     输出:[1, 2, 3]
    示例2:
    
     输入:[1, 1, 1, 1, 2]
     输出:[1, 2]
    提示:
    
    链表长度在[0, 20000]范围内。
    链表元素在[0, 20000]范围内。
    进阶:
    
    如果不得使用临时缓冲区,该怎么解决?
    

    题目的理解:

    保存值到一个数组,然后判断每一个节点的值是否在数组中。

    python实现

    class Solution:
        def removeDuplicateNodes(self, head: ListNode) -> ListNode:
            values = list()
            current = head
            pre_node = None
    
            while current is not None:
                if current.val in values:
                    if current.next is None:
                        current = None
                        if pre_node is not None:
                            pre_node.next = None
                    else:
                        current.val = current.next.val
                        current.next = current.next.next
                else:
                    values.append(current.val)
                    
                    pre_node = current
                    current = current.next
    
            return head
    

    提交

    100%

    又一个100%,可以哦

    // END 春天的风景比冬天漂亮多了

    相关文章

      网友评论

        本文标题:移除重复节点

        本文链接:https://www.haomeiwen.com/subject/enxcyhtx.html