讨论/《初级算法》 - 删除排序数组中的重复项/
《初级算法》 - 删除排序数组中的重复项

int removeDuplicates(int* nums, int numsSize){
if(numsSize==0||numsSize==1){//长度0为空,1不用进行操作,直接返回
return numsSize;
}
int i=0,j;
for(j=1;j<numsSize;j++){//两个指针。顺着数组依次前后移动,遇到不同就把后面的复制到前面来
if(nums[i]!=nums[j]
nums[++i]=nums[j];//注意先加i+1,i值不变,是i+1赋值;整个过程结束后直接构建了一个新的数组nums[i]
}
return i+1;数组下标+1是数组长度
}

1
展开全部 255 讨论