File tree 1 file changed +21
-31
lines changed
src/main/java/com/fishercoder/solutions 1 file changed +21
-31
lines changed Original file line number Diff line number Diff line change 2
2
3
3
import com .fishercoder .common .classes .ListNode ;
4
4
5
- /**
6
- * 82. Remove Duplicates from Sorted List II
7
- *
8
- * Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
9
-
10
- For example,
11
- Given 1->2->3->3->4->4->5, return 1->2->5.
12
- Given 1->1->1->2->3, return 2->3.
13
-
14
- */
15
5
public class _82 {
16
- public static class Solution1 {
17
- public ListNode deleteDuplicates (ListNode head ) {
18
- if (head == null ) {
19
- return head ;
20
- }
21
- ListNode fakeHead = new ListNode (-1 );
22
- fakeHead .next = head ;
23
- ListNode pre = fakeHead ;
24
- ListNode curr = head ;
25
- while (curr != null ) {
26
- while (curr .next != null && curr .val == curr .next .val ) {
27
- curr = curr .next ;
28
- }
29
- if (pre .next == curr ) {
30
- pre = pre .next ;
31
- } else {
32
- pre .next = curr .next ;
6
+ public static class Solution1 {
7
+ public ListNode deleteDuplicates (ListNode head ) {
8
+ if (head == null ) {
9
+ return head ;
10
+ }
11
+ ListNode fakeHead = new ListNode (-1 );
12
+ fakeHead .next = head ;
13
+ ListNode pre = fakeHead ;
14
+ ListNode curr = head ;
15
+ while (curr != null ) {
16
+ while (curr .next != null && curr .val == curr .next .val ) {
17
+ curr = curr .next ;
18
+ }
19
+ if (pre .next == curr ) {
20
+ pre = pre .next ;
21
+ } else {
22
+ pre .next = curr .next ;
23
+ }
24
+ curr = curr .next ;
25
+ }
26
+ return fakeHead .next ;
33
27
}
34
- curr = curr .next ;
35
- }
36
- return fakeHead .next ;
37
28
}
38
- }
39
29
40
30
}
You can’t perform that action at this time.
0 commit comments