Given a sorted array, remove the duplicates in place such that each element appear only once and retur
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int size = nums.size();
if(size==0 || size==1)
return size;
int i=0,j=0;
while(++j<size)
{
if(nums[i] != nums[j]) nums[++i] = nums[j];
}
size = ++i;
return size;
}
};
n the new length.
Do not allocate extra space for another array, you must do this in place with constant memory.
For example,
Given input array nums = [1,1,2]
,
Your function should return length = 2
, with the first two elements of nums being 1
and 2
respectively. It doesn't matter what you leave beyond the new length.