首页 > 移动平台 > 详细

leetcode-283-移动零

时间:2019-08-03 00:28:44      阅读:105      评论:0      收藏:0      [点我收藏+]

问题:

技术分享图片

 

package com.example.demo;

public class Test283 {
    /**
     * 将数组中的0移动到数组后边,同事保持其他元素的相对位置
     * 将所有非0元素向前移动
     * 定义一个索引,该索引代表的非0元素,从0向上递增
     *
     * @param nums
     */
    public void moveZeroes(int[] nums) {
        int k = 0;
        for (int i = 0; i < nums.length; i++) {
            if(nums[i] != 0){
                nums[k++] = nums[i];
            }
        }
        // 上边遍历完成之后,0-k之间的值局势所有的非0元素,所以需要将k-len之间的元素全都置0
        for (int i = k; i < nums.length; i++) {
            nums[i] = 0;
        }
    }

    public static void main(String[] args) {
        Test283 t = new Test283();
        int[] arr = {1, 0, 0, 3, 4, 5, 0, 4};
        t.moveZeroes(arr);
        for (int i : arr) {
            System.out.print(i + " ");
        }
    }
}

 

leetcode-283-移动零

原文:https://www.cnblogs.com/nxzblogs/p/11270583.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!