题目描述
给一组已排序的数,去重,返回剩余数的个数及剩下的数。
题目分析
记录第一个数, 若下一个数与之不相等,则记录当前数。
代码
#include <iostream>
#include <vector>
class Solution {
public:
int removeDuplicates(std::vector<int>& nums) {
if (nums.size() == 0) {
return 0;
}
int last = nums[0];
int result = 1;
std::vector<int> v;
v.push_back(last);
for (unsigned i = 0; i < nums.size(); ++i) {
if (last != nums[i]) {
++result;
last = nums[i];
v.push_back(last);
}
}
for (int i = 0; i < result; ++i) {
nums[i] = v[i];
}
return result;
}
};
总结
读错题了。
近期评论