SkylerChoice 2021-10-03 21:11 采纳率: 100%
浏览 137
已结题

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

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
示例:
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]

  • 写回答

2条回答 默认 最新

  • yangbocsu Java领域新星创作者 2021-10-03 21:14
    关注

    等等,我来

    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;
                }
            }
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月11日
  • 已采纳回答 10月3日
  • 创建了问题 10月3日