题解 | #删除有序链表中重复的元素-II#
删除有序链表中重复的元素-II
https://www.nowcoder.com/practice/71cef9f8b5564579bf7ed93fbe0b2024
/** * @author Lu.F * @version 1.0 * @date 2022/10/12 9:10 */ public class Solution { /** * @param head ListNode类 * @return ListNode类 */ public ListNode deleteDuplicates(ListNode head) { // write code here if (head == null || head.next == null) { return head; } ListNode p = new ListNode(-1); p.next = head; ListNode cur = p; // 三个指针 cur cur.next cur.next.next while (cur.next != null && cur.next.next != null) { if (cur.next.val == cur.next.next.val) { int temp = cur.next.val; // 跳过所有相同值的节点 while (cur.next != null && cur.next.val == temp) { cur.next = cur.next.next; } } else { cur = cur.next; } } return p.next; } }