当前位置: 代码迷 >> 综合 >> LeetCode刷题--82. 删除排序链表中的重复元素 II
  详细解决方案

LeetCode刷题--82. 删除排序链表中的重复元素 II

热度:51   发布时间:2023-09-05 19:28:37.0

82. 删除排序链表中的重复元素 II
题目描述:
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。

示例 1:
输入: 1->2->3->3->4->4->5
输出: 1->2->5

示例 2:
输入: 1->1->1->2->3
输出: 2->3

解题思路:
使用快慢指针,查看两个指针之间有没有重复的数,有的话,快的继续移动,直到找到不重复的。

   public ListNode deleteDuplicates(ListNode head) {ListNode dummyHead = new ListNode(0);dummyHead.next = head;ListNode slow = dummyHead;ListNode fast = head;while (fast != null) {if ((fast != null && fast.val != fast.next.val) || fast.next == null) {if (slow.next == fast) {slow = fast;} else {slow.next = fast.next;}}fast = fast.next;}return dummyHead.next;}