双指针,一个指针 i 扫描数组,一个指针 end 记录没有重复数字的新数组的尾部。
(1) A[end]=A[i],A[i]为重复数字,跳过。
(2) A[end]!=A[i],将A[i]放到A[end+1]位置,end++
class Solution {
public:
/**
* @param A: a list of integers
* @return : return an integer
*/
int removeDuplicates(vector<int> &nums) {
// write your code here
if (nums.size() == 0) {
return 0;
}
int result;
int end = 0;
for (int i = i; i < nums.size(); i++) {
if (nums[i] != nums[end]) {
end++;
if (i != end) {
nums[end] = nums[i];
}
}
}
return end+1;
}
};