删除链表的重复节点
# 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 None
buffer_set = set()
buffer_set.add(head.val)
pre = head
cur = head.next
while cur:
if cur.val in buffer_set:
pre.next = cur.next
cur = cur.next
else:
buffer_set.add(cur.val)
pre = cur
cur = cur.next
return head