每次思考都是一次进步
1、用iterator去遍历vector中的每个元素,如果当前元素和其上一个元素相等,则用erase函数将该元素删除。(注意,删除元素后记得抵消掉一次指针的递增,因为删除后该指针所指向的元素为原vector中被删元素后一个的元素)
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()!=0)
{
for(vector<int>::iterator it=nums.begin()+1;it<nums.end();++it)
{
if(*it==*(it-1))
{
nums.erase(it);
--it;
}
}
}
return nums.size();
}
};