class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int n = nums.size();
if (n == 0) {//排除特定情况
return 0;
}
int fast = 1, slow = 1;
while (fast < n) {//快慢指针处理
if (nums[fast] != nums[fast - 1]) {
nums[slow] = nums[fast];
++slow;
}
++fast;
}
return slow;
}
};//LeetCode官方源码
快慢指针,先排除特定情况从1开始可以减少很多麻烦。fast指针先行,slow在符合情况的情况下再行动。