From aa151b2fa24175d0fe695b4a77395ce8265aa0f6 Mon Sep 17 00:00:00 2001 From: crupest Date: Mon, 18 May 2020 15:07:46 +0800 Subject: import(solutions): Add problem 26 . --- works/solutions/cpp/26.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 works/solutions/cpp/26.cpp (limited to 'works/solutions/cpp/26.cpp') diff --git a/works/solutions/cpp/26.cpp b/works/solutions/cpp/26.cpp new file mode 100644 index 0000000..3ee4aa7 --- /dev/null +++ b/works/solutions/cpp/26.cpp @@ -0,0 +1,37 @@ +#include + +using std::vector; + +class Solution +{ +public: + int removeDuplicates(vector &nums) + { + if (nums.empty()) + return 0; + + auto iter_head = nums.cbegin(); + auto iter = iter_head + 1; + int current = nums.front(); + int count = 1; + + while (iter != nums.cend()) + { + const auto v = *iter; + if (v == current) + { + nums.erase(iter); + iter = iter_head + 1; + } + else + { + current = v; + count++; + iter_head = iter; + ++iter; + } + } + + return count; + } +}; -- cgit v1.2.3