问题描述
我正在做这个从排序向量中删除重复项并返回向量的新大小的 leetcode 问题,我想出了明显的简单方法来删除重复项。但是在我回答这个问题的时候,我发现删除后擦除()使迭代器无效。但是为什么我使用这段代码,它被接受了,我在其他一些在线编译器上运行了一些测试用例,它也在那里工作。 我不明白为什么我可以使用以前初始化的迭代器,即使它应该无效。
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()==0)
{
return 0;
}
for(auto i=nums.rend()-1;i>nums.rbegin();i--)
{
int seclast=*(i-1);
if(seclast==*i)
{
nums.erase(i);
// i--;
}
}
return nums.size();
}
};
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)