难度简单23
编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。
示例1:
输入:[1, 2, 3, 3, 2, 1] 输出:[1, 2, 3]
示例2:
输入:[1, 1, 1, 1, 2] 输出:[1, 2]
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def removeDuplicateNodes(self, head: ListNode) -> ListNode:
if not head:
return head
tmp = head
pre = head
hist = set()
while tmp:
if tmp.val not in hist:
hist.add(tmp.val)
pre = tmp
tmp = tmp.next
else:
pre.next = tmp.next
tmp = tmp.next
return head