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
|
class Solution {
public:
ListNode *deleteDuplicates(ListNode *head) {
while(head != NULL && head->next != NULL && head->val == head->next->val) {
while(head != NULL && head->next != NULL && head->val == head->next->val) {
head = head->next;
}
if(head != NULL) {
head = head->next;
}
}
if(head == NULL || head->next == NULL)return head;
ListNode * now = head->next;
ListNode * node = head;
while(now != NULL && now->next != NULL){
while(now != NULL && now->next != NULL && now->val == now->next->val) {
while(now != NULL && now->next != NULL && now->val == now->next->val) {
now = now->next;
}
if(now != NULL) {
now = now->next;
}
}
node->next = now;
node = node->next;
if(node == NULL)break;
now = node->next;
}
return head;
}
};
|