题解:本题除了用hash还可以用两指针可以节省空间复杂度。用一个指针i遍历set型数组,另一个j遍历整个数组,每次不同时i++,并让j所在数放到i下一个数上,这样可以更新i指针所指的数。
int removeDuplicates(vector<int>& nums) {
int i=0;
if(nums.size()==0) return 0;
for(int j=1;j<nums.size();j++){
if(nums[j]!=nums[i]){
i++;
nums[i]=nums[j];
}
}
return i+1;
}