82. 删除排序链表中的重复元素 II
题目:给定一个已排序的链表的头 head,删除原始链表中所有重复数字的节点,只留下不同的数字 。返回已排序的链表。
链接 https://leetcode.cn/problems/remove-duplicates-from-sorted-list-ii/
个人思路
- 思路1:先一次循环把存在重复的数字保存在集合,然后在第二次循环中判断数字是否在该集合,如果在那就删除该节点
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def deleteDuplicates(self, head: Optional[ListNode]) -> Optional[ListNode]:
# 设置一个哑结点,方便后续返回
dump = ListNode(-101,head)
cur = dump
nums = []
duplicate = set() # 重复数字
while cur:
num = cur.val