删除有序数组中的重复项
这题简单题,双指针,一个指针记录未重复的数的个数,另一个记录遍历的位置。
以下是简单模拟,可以优化:
class Solution {
public:int removeDuplicates(vector<int>& nums) {int l=0;int r=1;if(nums.size()<=1)return nums.size();while(r<nums.size()){if(nums[l]==nums[r]){r++;}else{l++;nums[l]=nums[r];r++;}}return l+1;}
};//优化:
class Solution {
public:int removeDuplicates(vector<int>& nums) {int l=0;int r=1;if(nums.size()<=1)return nums.size();while(r<nums.size()){if(nums[l]!=nums[r]){l++;nums[l]=nums[r];}r++;}return l+1;}
};