s0203
This commit is contained in:
parent
8485bba8c0
commit
9d2a8bccfe
17
include/s0203_remove_linked_list_elements.hpp
Normal file
17
include/s0203_remove_linked_list_elements.hpp
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#ifndef S0203_REMOVE_LINKED_LIST_ELEMENTS_HPP
|
||||||
|
#define S0203_REMOVE_LINKED_LIST_ELEMENTS_HPP
|
||||||
|
|
||||||
|
struct ListNode {
|
||||||
|
int val;
|
||||||
|
ListNode* next;
|
||||||
|
ListNode() : val(0), next(nullptr) {}
|
||||||
|
ListNode(int x) : val(x), next(nullptr) {}
|
||||||
|
ListNode(int x, ListNode* next) : val(x), next(next) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
class S0203 {
|
||||||
|
public:
|
||||||
|
ListNode* removeElements(ListNode* head, int val);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
19
src/s0203_remove_linked_list_elements.cpp
Normal file
19
src/s0203_remove_linked_list_elements.cpp
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#include "s0203_remove_linked_list_elements.hpp"
|
||||||
|
|
||||||
|
ListNode* S0203::removeElements(ListNode* head, int val) {
|
||||||
|
ListNode dummy = ListNode(0, head);
|
||||||
|
ListNode* ptr = &dummy;
|
||||||
|
while (ptr->next != nullptr) {
|
||||||
|
if (ptr->next->val == val) {
|
||||||
|
if (ptr->next->next == nullptr) {
|
||||||
|
ptr->next = nullptr;
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
ptr->next = ptr->next->next;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ptr = ptr->next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dummy.next;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user