82.删除排序链表中的重复元素Ⅱ 发表于 2020-10-08 | 分类于 算法 | 本文总阅读量 次 字数统计: 160 | 阅读时长 ≈ 1 题目描述 题解双指针使用双指针, 左指针指向最左边的重复节点, 右指针指向最右边的重复节点, 然后将其整段删除, 这里要用到哨兵节点和前驱节点. 12345678910111213141516171819202122232425262728293031public ListNode deleteDuplicates(ListNode head) { if (head == null || head.next == null) { return head; } ListNode dummy = new ListNode(0); dummy.next = head; ListNode pre = dummy; ListNode i = pre.next; ListNode j = i.next; while (i != null && j != null) { if (i.val != j.val) { i = i.next; j = j.next; pre = pre.next; } else { while (j.next != null && j.next.val == i.val) { j = j.next; } pre.next = j.next; i = pre.next; if (i!=null){ j = i.next; } } } return dummy.next;} -------------本文结束感谢您的阅读------------- 可以请我喝杯奶茶吗 打赏 微信支付 支付宝