LeetCode26:Remove Duplicates from Sorted Array

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xianqianshi3004/article/details/88053935

解题思路

因为数字本身就是排序的,所以直接遍历数组然后然后记录一个没有重复的数组的下标。本题和LeetCode27题比较像。

代码

int removeDuplicates(vector<int>& nums) {
        int cur=0;//记录下当前的数组的前cur个数字没有重复,遇到没有重复加一。
        for(int i=0;i<nums.size();i++){
            if(i>0&&nums[i]==nums[i-1]){
                continue;
            }
            else{
                nums[cur]=nums[i];//这里cur永远不可能大于i
                cur++;
            }
        }
        return cur;//因为在else中cur++,在最后一个元素的时候也//执行++,所以最后不是返回cur+1;
    }

猜你喜欢

转载自blog.csdn.net/xianqianshi3004/article/details/88053935