int removeDuplicates(vector<int>& nums) {
if(nums.empty())return 0;
for(vector<int>::iterator it=nums.begin();it<nums.end()-1;){
if(*it==*(it+1)) it=nums.erase(it);//对于指针的加减需要有一个判断后在进行,不能放到上面循环体中每一次都加
else ++it;
}
return nums.size();
}
Line 835: Char 45: runtime error: pointer index expression with base 0x000000000000 overflowed to 0xfffffffffffffffc (stl_iterator.h)
此错误信息时因为没有考虑到vector空的情况,把if(nums.empty())return 0;这个情况加进去即可