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