OJ ------ LeetCode 26 : 删除排序数组中的重复项
程序员文章站
2022-06-11 10:35:04
...
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if (nums.size() == 1)
return 1;
//排序好的数组, 只需要查找到相同的区间, 然后删除区间,留下一个元素即可
vector<int>::iterator it = nums.begin();
vector<int>::iterator end = it;
while (it != nums.end()) {
//循环结束时end指向第一个不同的数字, 因为删除是左闭右开区间
while (end != nums.end() && *it == *end)
end++;
it = nums.erase(it + 1, end);
//删除完成后it指向的是第一个不同的数字
//更新end
end = it;
}
return nums.size();
}
};