-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSolution.java
More file actions
40 lines (37 loc) · 799 Bytes
/
Solution.java
File metadata and controls
40 lines (37 loc) · 799 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.q0082;
import com.q0086_partition_list.ListNode;
/**
* https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/
* 82. 删除排序链表中的重复元素 II
*/
public class Solution {
public ListNode deleteDuplicates(ListNode head) {
if (head == null || head.next == null) {
return head;
}
ListNode dummyHead = new ListNode(0);
dummyHead.next = head;
ListNode pre = dummyHead;
ListNode cur = pre.next;
//pre c
// p p
// 0-->1-->1-->1-->1-->2
//pre c p
//0-->1-->4-->2
while (cur != null) {
int num = 0;
ListNode p = cur;
while (p != null && p.val == cur.val) {
num++;
p = p.next;
}
if (num > 1) {
pre.next = p;
}else {
pre = cur;
}
cur = p;
}
return dummyHead.next;
}
}