利用快慢指针算法。快指针遍历数组,慢指针储存未重复数据。空间复杂度为o(1),程序原地工作。
int removeDuplicates(int* nums, int numsSize){
int p=1;
int i;
if(numsSize==0)
return 0;
for(i=1;i<numsSize;i++){
if(nums[i]!=nums[i-1]){
nums[p]=nums[i];
p++;
}
}
return numsSize=p;
}