int removeElement(int* nums, int numsSize, int val)
{
for(int i=0;i<numsSize;)//遍历数组
{
if(nums[i]==val)//如果发现等于val的值
{
for(int j=i;j<numsSize-1;j++)
{
nums[j]=nums[j+1];//然后将右边一个值赋给左边
}
numsSize--;//将数组长度-1
continue;//相当于放弃后面的i++操作,因为你没法保证nums[i+1]!=val,所以你应该让i不变
}
i++;//既然没进入if的循环体,说明不相等,所以i右移
}
return numsSize;
}
(C语言)力扣第27题,移除元素
最新推荐文章于 2022-12-13 17:53:07 发布