#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; } };