这个很简单(虽然题目看着有些复杂),就是erase掉vector里的重复元素就行。
需要注意的是,判断完该元素是否等于先前元素后,如果等于,那么指针需要后退一个,不然经过for循环之后就前进了两个元素,如果有连续三个重复元素会导致少删一个。
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
for(int i=1;i<nums.size();i++){
if(nums[i]==nums[i-1]){nums.erase(nums.begin()+i);i--;}
}
return nums.size();
}
};