双指针—快慢指针
慢指针 slow 走在后面,快指针 fast 走在前面探路,找到一个不重复的元素的时候就让slow前进一步并赋值给它。
流程:
代码
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int slow = 0, fast = 0;
while(fast < nums.size()){
if(nums[slow] != nums[fast]){
slow++;
nums[slow] = nums[fast];
}
fast++;
}
return slow+1;
}
};