删除有序数组中的重复项


不要使用额外的空间,你必须在 原地修改输入数组 并在使用 O(1) 额外空间的条件下完成。

1.双指针

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if (nums.size() == 0) return 0;
int black = 0;
for (int red = 1; red < nums.size(); ++red) {
if (nums[red] != nums[black]) {
black++;
nums[black] = nums[red];
}
}
return black + 1;
}
};