思路:
快指针用于遍历,慢指针用于存放结果
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if (nums.empty()) {
return 0; // 如果数组为空,直接返回0
}
int fast = 1, slow = 0; // 修改 fast 的初始值为 1,slow 初始值为 0
while (fast < nums.size()) { // 使用 while 循环,而不是 if
if (nums[slow] != nums[fast]) {
slow++;
nums[slow] = nums[fast];
}
fast++;
}
return slow + 1; // 返回 slow+1 作为新数组的长度
}
};