Remove all elements from a linked list of integers that have value val.
Example Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6 Return: 1 --> 2 --> 3 --> 4 --> 5
Credits: Special thanks to @mithmatt for adding this problem and creating all test cases.
实现:
ListNode* removeElements(ListNode* head, int val) {
ListNode* currNode = head;
while (true) {
if (head == NULL) return NULL;
if (currNode->val != val) break;
currNode = currNode->next;
head = currNode;
}
while (currNode->next) {
if (currNode->next->val == val) {
currNode->next = currNode->next->next;
} else {
currNode = currNode->next;
}
}
return head;
}
时间: 2024-11-05 12:29:37