题目:给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。
#include<iostream>
#include<vector>
using namespace std;
class Solution
{
public:
int removeDuplicates(vector<int>& nums)
{
for (auto itr = nums.begin(); itr != nums.end() - 1;) //注意是不等于倒数第二个,不然会越界
{
if (*itr == *(itr + 1))
{
itr = nums.erase(itr);
}
else
{
itr++;
}
}
for (auto& itr : nums)
{
cout << itr << endl;
}
return nums.size();
}
};
int main()
{
vector<int> nums = {1,2,2,3,3,4};
Solution a;
a.removeDuplicates(nums);
return 0;
}