int removeDuplicates(vector<int>& nums) {
int fast = 0;
int slow = 0;
while(fast < nums.size())
{
if(nums[fast] == nums[slow])
{
fast++;
}
else
{
slow++;
nums[slow] = nums[fast];
}
}
return slow + 1;
}
解析:slow和fast相等,fast向前移动一位,slow和fast不相等,slow+1=fast所对的数字,并且fast向前移动一位。