删除排序数组中的重复数字-LintCode,给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。
不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。
样例:
给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。
#ifndef C100_H #define C100_H #include#include using namespace std; class Solution { public: /** * @param A: a list of integers * @return : return an integer */ int removeDuplicates(vector &nums) { // write your code here for (int i = 0; i < nums.size() - 1; ++i) { if (nums[i] == nums[i + 1]) { nums.erase(nums.begin() + i); return removeDuplicates(nums); break; } } return nums.size(); } }; #endif