准备快慢指针,快的往前移动,找不同,一旦找到不同,就将慢指针加一,赋上这个值,返回前面慢指针即可
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()==0)return 0;
int a=0;//慢指针
for(int i=1;i<nums.size();i++){//快指针
if(nums[i]!=nums[a]){
a++;//慢指针加一
nums[a]=nums[i];//加一的那个位置赋值这个不同的值
}
}
return a+1;
}
};