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