双指针消重复项

 

 

 

 

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

 

posted @ 2021-01-22 23:42  然终酒肆  阅读(64)  评论(0编辑  收藏  举报