Leetcode 26 -- 删除排序数组中的重复项

题目链接如下: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;
    }
};


猜你喜欢

转载自blog.csdn.net/u010281829/article/details/80103061