//算法思想:
//遍历数组,碰到val删除,向前移动
void MoveNums(int *nums,int numsSize,int StartFlag)
{
for( int i = StartFlag; i < numsSize; i++ )
{
nums[i-1] = nums[i];
}
}
int removeElement(int* nums, int numsSize, int val) {
for( int i = 0; i < numsSize;)
{
//最后一位不需要移位 直接删除
if(i == (numsSize - 1) && (nums[i] == val))
{
numsSize--;
}
else
{
if(nums[i] == val)
{
//将i后面的数据向前移动一位
MoveNums(nums,numsSize,i+1);
numsSize--;
}
else
{
i++;
}
}
}
return numsSize;
}
LeetCode-Easy-移除元素(C)
于 2023-11-29 15:45:31 首次发布