Leecode26 删除有序数组中的重复项
通过代码
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int a=1;//记录不重复元素个数
int now=nums[0];
for(int i=1;i<nums.size();i++){
if(nums[i]!=now){
a++;
now=nums[i];
nums[a-1]=now;
}
}
for(int i=a;i<nums.size();i++){
nums[i]=0;
}
return a;
}
};
代码笔记
- 有序数组说明重复元素都是相邻的
- 第一个循环得到不重复元素个数,并将不重复元素都放到数组的前面
- 第二个循环将除了不重复元素外的元素变为0
- 思路描述如下: