File tree Expand file tree Collapse file tree 2 files changed +19
-15
lines changed
082_remove_duplicates_from_sorted_list_ii
083_remove_duplicates_from_sorted_list Expand file tree Collapse file tree 2 files changed +19
-15
lines changed Original file line number Diff line number Diff line change 1
1
#include <stdio.h>
2
2
#include <stdlib.h>
3
3
4
+
4
5
struct ListNode {
5
6
int val ;
6
7
struct ListNode * next ;
7
8
};
8
9
9
- struct ListNode * deleteDuplicates (struct ListNode * head ) {
10
+ struct ListNode * deleteDuplicates (struct ListNode * head )
11
+ {
10
12
struct ListNode dummy ;
11
- struct ListNode * p , * next , * prev ;
13
+ struct ListNode * p , * q , * prev ;
12
14
prev = & dummy ;
13
15
dummy .next = head ;
14
- p = next = head ;
16
+ p = q = head ;
15
17
while (p != NULL ) {
16
- while (next != NULL && next -> val == p -> val ) {
17
- next = next -> next ;
18
+ while (q != NULL && q -> val == p -> val ) {
19
+ q = q -> next ;
18
20
}
19
- if (p -> next == next ) {
21
+ if (p -> next == q ) {
20
22
prev = p ;
21
23
} else {
22
- prev -> next = next ;
24
+ prev -> next = q ;
23
25
}
24
- p = next ;
26
+ p = q ;
25
27
}
26
28
return dummy .next ;
27
29
}
Original file line number Diff line number Diff line change 1
1
#include <stdio.h>
2
2
#include <stdlib.h>
3
3
4
+
4
5
struct ListNode {
5
6
int val ;
6
7
struct ListNode * next ;
7
8
};
8
9
9
- struct ListNode * deleteDuplicates (struct ListNode * head ) {
10
- struct ListNode * p , * next ;
11
- p = next = head ;
10
+ struct ListNode * deleteDuplicates (struct ListNode * head )
11
+ {
12
+ struct ListNode * p , * q ;
13
+ p = q = head ;
12
14
while (p != NULL ) {
13
- while (next != NULL && next -> val == p -> val ) {
14
- next = next -> next ;
15
+ while (q != NULL && q -> val == p -> val ) {
16
+ q = q -> next ;
15
17
}
16
- p -> next = next ;
17
- p = next ;
18
+ p -> next = q ;
19
+ p = q ;
18
20
}
19
21
return head ;
20
22
}
You can’t perform that action at this time.
0 commit comments