题目链接
英文链接:https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/
中文链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/
题目详述
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。
示例 1:
1 | 输入: 1->2->3->3->4->4->5 |
示例 2:
1 | 输入: 1->1->1->2->3 |
题目详解
与 LeetCode83-删除排序链表中的重复元素 类似,本题改为了删除所有重复的结点。
- 因为可能删除头结点,为了方便操作,新建了一个 dummy 结点充当头结点。
- 运用两个指针 pre 和 cur,pre 代表前一个结点,cur 代表待检查的结点。
- 每次移动 cur,如果不存在重复结点,直接更新 pre 和 cur;存在重复就跳过所有重复结点,让 pre 的 next 指向下一个结点。
- 重复这个过程,直至到达链表末尾。
1 | public class LeetCode_00082 { |