← Back to LeetCode Notes

80. Remove Duplicates from Sorted Array II

medium · array · two-pointers · solved 2026.08.01 · 10 sec read

View on LeetCode ↗
C++
class Solution {public:    int removeDuplicates(vector<int>& nums) {        int k = 0;        int i = 0;        if (nums.size() < 2) {            return nums.size();        }        nums.push_back(-99);        nums.push_back(-100);  // just padding to allow checking of values                               // past bound, less bound checking for me.        if (nums[k + 1] == nums[i]) {            nums[++k] = nums[i];        }  // startup to fix beginning so that rest of loops can continue.        while (i < nums.size() - 1) {            // change to next value            if (nums[k] != nums[i]) {                nums[++k] = nums[i];                if (nums[k] == nums[i + 1]) {                    nums[++k] = nums[i + 1];                }            }            i++;        }        return k;    }};