1
class Solution {
2
public:
3
ListNode *removeElements(ListNode *head, int val) {
4
ListNode *prv, *cur, *temp;
5
while (head && head->val == val) {
6
cur = head;
7
head = head->next;
8
delete (cur);
9
}
10
if (head == NULL) return head;
11
prv = head;
12
cur = head->next;
13
while (cur) {
14
if (cur->val == val) {
15
temp = cur;
16
prv->next = cur->next;
17
cur = cur->next;
18
delete (temp);
19
} else {
20
prv = cur;
21
cur = cur->next;
22
}
23
}
24
return head;
25
}
26
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0