80. 删除排序数组中的重复项 II
思路:双指针
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if (nums.empty()) {
return 0;
}
int cnt = 1;//记录我左边接收到几个相同的了
int left = 1, right = 1;//left:指向坑位,right指向要比较的。
while (right < nums.size()) {
//left:左边需要放的位置
if (nums[left-1] == nums[right]){//如果和我刚放进去的一样的话
cnt++;
if (cnt <= 2) {
nums[left++] = nums[right];
}
}
else {
nums[left++] = nums[right];
cnt = 1;
}
right++;
}
return left;
}
};