Leetcode刷题笔记: 26. 删除排序数组中的重复项

这道题刚开始我被绕进去了,其实很简单。在系统学了有序向量的唯一化操作后思路就很清晰了,之前对于有序向量的唯一化操作有过详细的讲解,这里我直接给出链接数据结构学习笔记:有序向量的唯一化(去重复)操作

下面是这道题的代码实现(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;
	}
    }
};

猜你喜欢

转载自blog.csdn.net/Peter_Red_Boy/article/details/89814627
今日推荐