SkylerChoice
2021-10-03 21:11
采纳率: 100%
浏览 39

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

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

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • yangbocsu 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 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题