LC 移动零

Posted yangbocsu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LC 移动零相关的知识,希望对你有一定的参考价值。

LC 移动零


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

class Solution {
    public void moveZeroes(int[] nums) {
        // 0 边界处理
        if (nums == null || nums.length ==0)
        {
            return;
        }
        
        //
        int index=0;
        for (int i = 0; i < nums.length; i++) 
        {
            if (nums[i]!=0)
            {
                nums[index++] = nums[i];
            }
        }
        
        while (index < nums.length)
        {
            nums[index++]= 0;
        }
    }
}



class Solution {
    public void moveZeroes(int[] nums) {
         // 0 边界处理
        if (nums == null || nums.length ==0)
        {
            return;
        }

        int i = 0 ;         //统计0的个数
        for (int j = 0; j < nums.length; j++)
        {
            if (nums[j] == 0)
                i++;        //  统计0的个数
            else if (i != 0)
            {
                nums[j-i] = nums[j];
                nums[j] = 0;
            }
        }
    }
}

以上是关于LC 移动零的主要内容,如果未能解决你的问题,请参考以下文章

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段

如何优化C ++代码的以下片段 - 卷中的零交叉

算法刷题:LC初级算法

算法刷题:LC初级算法

LC 加一