描述
给定一个有序数组,问互不相同的元素各有多少个,要求不能用额外的空间,结果数组中存在的结果都是不同的。
解决
两个索引,同时遍历,因为有序,直接可以通过大小比较得到结果。
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if (nums.empty()){
return 0;
}
int lenth = nums.size(), cnt = 0;
nums[cnt] = nums[0];
for (int i = 1; i < lenth; ++i){
if (nums[cnt] != nums[i]){
nums[++cnt] = nums[i];
}
}
return cnt + 1;
}
};