int removeElement(int* nums, int numsSize, int val) {
for(int i=0;i<numsSize;i++){
if(nums[i]==val){
for(int j=i;j<numsSize-1;j++){
nums[j]=nums[j+1];
}
--i; //下标0,1,2,3,4,5,6
//这里之所以要进行i--是因为比如a[]={1,2,3,3,4,8,9},要删除3
// i 指在这里时会执行if里面操作
// 将i指的3删除之后变成a[]={1,2,3,4,8,9}
// i
//如果不进行i--那么下一次i就会等于3,指向了4所在的位置
//从而新下标为2的地方的3被跳过从而发生错误
--numsSize;
//往前移动之后,要将数组的大小减一
}
}
return numsSize;
}
leetcode 27移除元素
于 2024-01-22 21:52:41 首次发布