题目:
代码( 首刷自解 2024年4月1日):
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
// 遍历数组,双指针
if (nums.size() == 1) return 1;
// 快慢指针,将快指针指向的元素赋给慢指针
int slow = 1;
for (int fast = 1; fast < nums.size(); ++fast) {
// 若快指针指向的元素变化,将其赋给慢指针
if (nums[fast] != nums[fast - 1]) {
nums[slow] = nums[fast];
slow++;
}
}
return slow;
}
};