双指针—快慢指针
慢指针 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;}
};