LeetCode 初级 - 移动零(目前我看到的最简洁简单的代码)

移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

示例:

输入: [0,1,0,3,12]
输出: [1,3,12,0,0]

说明:

  1. 必须在原数组上操作,不能拷贝额外的数组。
  2. 尽量减少操作次数。

分析

维护index,记录非0数字应当存放的位置。

代码

void moveZeroes(int* nums, int numsSize)
{
    int index = 0;
    for(int i =0; i< numsSize; i++)
    {
        if(nums[i]!=0)
        {
            nums[index]= nums[i];
            index ++;
        }
    }
    while(index

转自:

https://blog.csdn.net/whdAlive/article/details/80356495

你可能感兴趣的:(LeeCode)