27. 移除元素C

原本我想用头尾交换的双指针的,但是又要判断头尾是否相等,感觉不干净的感觉。
就换成了类似筛选的前后双指针。一个是指向要放的位置,一个指向查看的位置。
int removeElement(int* nums, int numsSize, int val) {
int i=0,j=0;
while(j<numsSize){
if(nums[j]!=val){
nums[i++]=nums[j++];
}else{
j++;
}
}
return i;
}
结果:

浙公网安备 33010602011771号