mirror of
https://github.com/ShusenTang/LeetCode.git
synced 2024-09-02 14:20:01 +00:00
.. | ||
README.md | ||
solution.h |
思路
由于是已经排序好的数组,所以相同的数肯定是相邻的,遍历数组时跳过与上一个数重复的数即可。 可以用一个count记录在下标count及之前是没有重复的数组, count初始化为0,然后从前往后遍历,若a[i]==a[count]说明重复,不更新count, 否则应该让count++。注意单独判断空数组。
C++
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.empty()) return 0;
int count = 0;
for(int i = 1; i < nums.size(); i++){
if(nums[i] != nums[count]) nums[++count] = nums[i];
}
return count+1;
}
};