编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。
示例1
输入:[1, 2, 3, 3, 2, 1]
输出:[1, 2, 3]
示例2
输入:[1, 1, 1, 1, 2]
输出:[1, 2]
解答 python3
# 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 head==None :
return head;
if head.next==None:
return head;
m={head.val};
n=head;
h=n.next;
while h!=None:
if h.val not in m:
m.add(h.val);
n=n.next;
h=h.next;
else:
if h.next!=None:
n.next=h.next;
h=h.next;
else:
n.next=None;
return head;
return head;