我的菜逼解法:
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
for(int i = 0;i < nums.size();i++){
int temp = nums[i];
if(i + 1 != nums.size()){
if(temp == nums[i + 1])
{
nums.erase(nums.begin() + i + 1);
i--;
}
}
}
return nums.size();
}
};
双指针解法:
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int j = 0,i = 0;
if(nums.size() == 0) return 0;
while(j < nums.size()){
if(nums[i] == nums[j]) j++;
else{
nums[i + 1] = nums[j];
i++;
j++;
}
}
return i + 1;
}
};