题目链接如下:Leetcode 26
大致描述一下题目:
给出一个排序数组,原地删除重复元素,使得每个元素仅出现一次,返回移除后数组的长度。不要使用额外的数组空间。
解题思路:
很简单的一个逻辑,定义一个计数器count从1开始,从第二个元素开始遍历数组,如果当前元素和上一个元素不相等,将当前元素的下标赋值为count,同时count++
附上代码如下:(C++)
/*******************************************************************************
Copyright © 2018-20xx Qiao Chuncheng, All Rights Reserved.
File name: 026[移除排序数组中的重复项].cpp
Author: Qiao Chuncheng
Version: v1.0
Date: 2018-04-13
*******************************************************************************/
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size() == 0)
return 0;
int cnt=1;
for(int i=1;i<nums.size();i++)
{
if(nums[i]!=nums[i-1])
{
nums[cnt] = nums[i];
cnt++;
}
}
return cnt;
}
};