双指针消重复项

 

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        int i = 0;
        int len = nums.size();
        if(len==0)
            return 0;
        for(int j =1;j<len;j++ )
        {
            if(nums[i] != nums[j] )
            i++;
            nums[i]=nums[j];
        }
        return i+1;


    }
};

 类似:双指针移除元素

class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int i =0;
        int len = nums.size();
        for(int j =0;j <len;j++ )
        {
            if( val != nums[j])
            {
                nums[i] = nums[j];
                i++;
            }
               
        }
        return i;
    }
};
原文地址:https://www.cnblogs.com/ranzhong/p/14316022.html