1. 题意
2. 题解
双指针:左指针指向形成的不重复数组的最后一个元素,右指针指向比较元素。
当左右指针对应元素相同时,移动右指针;
不同时左指针右移动,并将右指针值赋给左指针所在位置。
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int sz = nums.size();
int cnt = 0;
for (int i = 1;i < sz; ++i) {
if (nums[i] != nums[cnt]) {
nums[++cnt] = nums[i];
}
}
return cnt + 1;
}
};