难度:easy
类别:array
题目描述
算法分析
直接使用vector的erase函数即可,注意删除掉某个相同的数字之后,因为后面的数字需要与被删除数字前面的那个数字进行比较,所以i需要保持不变,所以i–和for循环中的i++使得i保持不变。
代码实现
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
for (int i = 1; i < nums.size(); ++i) {
if (nums[i] == nums[i - 1]) {
nums.erase(nums.begin() + i);
// notice here
i--;
}
}
return nums.size();
}
};