移动零

作者: 让我们荡起双桨呀 | 来源:发表于2020-03-18 10:06 被阅读0次

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

    示例:

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

    说明:

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

    java代码实现:

    class Solution {
        public void moveZeroes(int[] nums) {
            //输入: [0,1,0,3,12]
            //输出: [1,3,12,0,0]
            //定义一个变量将非零元素往前移动
            int i = 0;
            for (int j = 0; j < nums.length; j++){
                if (nums[j] != 0){
                    nums[i++] = nums[j];
                }
            }
            //将i之后元素赋值为0
            for (;i < nums.length; i++){
                nums[i] = 0;
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:移动零

          本文链接:https://www.haomeiwen.com/subject/ufqqyhtx.html