leetcode80. 删除有序数组中的重复项 II

分析

用快慢两个指针对数组本身进行覆盖,由于数组有序,如果慢指针-2如果还与fast指针相同说明此时重复元素一定超过2个了,跳过快指针即可

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if(nums.size()<=2)return nums.size();
        int slow=2,fast=2;
        for(fast;fast<nums.size();fast++){
            if(nums[slow-2]!=nums[fast])
                nums[slow++]=nums[fast];
        }
        return slow;
    }
};