这道题刚开始我被绕进去了,其实很简单。在系统学了有序向量的唯一化操作后思路就很清晰了,之前对于有序向量的唯一化操作有过详细的讲解,这里我直接给出链接数据结构学习笔记:有序向量的唯一化(去重复)操作
下面是这道题的代码实现(C++实现):
执行用时 : 32 ms, 在Remove Duplicates from Sorted Array的C++提交中击败了96.72% 的用户
内存消耗 : 10.1 MB, 在Remove Duplicates from Sorted Array的C++提交中击败了73.12% 的用户
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int i = 0, j = 0;
if (nums.size() == 0)
return 0;
else
{
while (++j < nums.size())
{
if (nums[i] != nums[j])
nums[++i] = nums[j];//如果有重复项,则直接跳过继续,不进行任何操作
}
return ++i;
}
}
};