82. Remove Duplicates from Sorted List II

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
public ListNode deleteDuplicates(ListNode head) {
ListNode dummyHead = new ListNode(-1, head);
ListNode pre = dummyHead, curr = head;

while (curr != null) {
if (curr.next != null && curr.val == curr.next.val) {
// 当前节点重复,需要删除值相同的节点
int val = curr.val;
while (curr != null && curr.val == val) {
curr = curr.next;
}
pre.next = curr;
} else {
pre = curr;
curr = curr.next;
}
}

return dummyHead.next;
}
}

References

82. Remove Duplicates from Sorted List II