目录
- 一.删除有序数组中的重复项
一.删除有序数组中的重复项
题目如上图所示,这里非严格递增排序的定义是数字序列,其中相邻的数字可以相等,并且数字之间的差值为1。
这题我们依旧使用迭代器进行遍历,比较当前的数据是否与下一个数据相同,如若相同则删除下一个数据。唯一需要注意的是遍历的结束条件:如果it走到了最后一个数据则结束
#include<iostream>
#include<vector>
using namespace std;
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
auto it = nums.begin();
while(it!=nums.end()&&(it+1)!=nums.end())
{
if(*it==*(it+1))
{
nums.erase(it+1);
}
else
{
it++;
}
}
return nums.size();
}
};