美文网首页
面试题 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