一.相关链接
题目链接:26.删除有序数组中的重复项
二.心得体会
本题是一道双指针题目,重点是通过slow指针指向的数组元素来判断fast指针指向的数组元素是否该被记录到新数组中去。只有当两者不相等(或者fast指向的更大)时才进行赋值操作。
三.代码
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size() == 1) return 1;
int fast = 1;
int slow = 0;
for(;fast<nums.size();fast++){
if(nums[fast] != nums[slow]){
slow++;
nums[slow] = nums[fast];
}
}
return slow+1;
}
};