From 185ef9fcb0e59f13e9ee0ccb261693cdaddebab0 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 23 Feb 2021 21:07:19 +0800 Subject: import(solutions): Move leetcode solutions to subdir. --- works/solutions/leetcode/cpp/203.cpp | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 works/solutions/leetcode/cpp/203.cpp (limited to 'works/solutions/leetcode/cpp/203.cpp') diff --git a/works/solutions/leetcode/cpp/203.cpp b/works/solutions/leetcode/cpp/203.cpp new file mode 100644 index 0000000..0f1bb55 --- /dev/null +++ b/works/solutions/leetcode/cpp/203.cpp @@ -0,0 +1,48 @@ +#include + +struct ListNode +{ + int val; + ListNode *next; + ListNode(int x) : val(x), next(NULL) {} +}; + +class Solution +{ +public: + ListNode *removeElements(ListNode *head, int val) + { + if (head == NULL) + return NULL; + + ListNode *last = NULL; + ListNode *current = head; + + while (current != NULL) + { + if (current->val == val) + { + if (last == NULL) + { + auto temp = current; + current = current->next; + head = current; + delete temp; + } + else + { + auto temp = current; + current = current->next; + last->next = current; + delete temp; + } + } + else + { + last = current; + current = current->next; + } + } + return head; + } +}; -- cgit v1.2.3