美文网首页
面试题 02.01. 移除重复节点

面试题 02.01. 移除重复节点

作者: minningl | 来源:发表于2022-01-22 00:53 被阅读0次

    题目:
    编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。

    示例1:

     输入:[1, 2, 3, 3, 2, 1]
     输出:[1, 2, 3]
    

    示例2:

     输入:[1, 1, 1, 1, 2]
     输出:[1, 2]
    

    提示:

    链表长度在[0, 20000]范围内。
    链表元素在[0, 20000]范围内。

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/remove-duplicate-node-lcci
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    Python代码:

    # Definition for singly-linked list.
    # class ListNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution(object):
    
        def __init__(self):
            self.dt = {}
    
        def removeDuplicateNodes(self, head):
            """
            :type head: ListNode
            :rtype: ListNode
            """
            ret =  ListNode(0);
            ret.next = head
            pre = ret
    
            while pre.next:
                
                if pre.next.val not in self.dt:
                    self.dt[pre.next.val] = 0
                    pre = pre.next
                else:
                    pre.next = pre.next.next
            
            return ret.next
    
    

    相关文章

      网友评论

          本文标题:面试题 02.01. 移除重复节点

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