题目:将数组中的重复数字去除,不能新开一个数组。返回数组和去重后的个数
分析:用一个数字记录数组非重复 的,如果是重复的,就把后面不重复的搬过来。复杂度O(n)
答案:
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int res = 0;
if (nums.size()<1){
return res;
}
int startn = nums[0];
res++;
for (int i = 1; i < nums.size(); i++){
if (startn != nums[i]){
startn = nums[i];
nums[res] = nums[i];
res++;
}
}
return res;
}
};