思路:用两个指针,一个快指针遍历数组,一个慢指针用来修改数组的值
class Solution {
public:
int removeDuplicates(vector<int>& nums)
{
int p1=0;
int p2=0;
int length=nums.size();
if(length==0) return 0;
while(p1<length)
{
//不同时把快指针指向位置的数据赋给慢指针的下一个位置
if(nums[p1]!=nums[p2])
nums[++p2]=nums[p1];
p1++; //任何情况快指针都要加一遍历数组
}
return p2+1;
}
};