Move Zeroes

来源:互联网 发布:手机航班查询软件 编辑:程序博客网 时间:2024/04/29 12:16

Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.

For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].

Note:

  1. You must do this in-place without making a copy of the array.
  2. Minimize the total number of operations.

Tags:

Array, Two Pointers

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

A single loop to check the number of zeroes, so we can re-assign the value of zeroes after moving all the values forward.

/** * @param {number[]} nums * @return {void} Do not return anything, modify nums in-place instead. */var moveZeroes = function(nums) {    var start = 0;    var i = 0;    var len = nums.length;        while(start<len) {        if(nums[start] !== 0) {            nums[i] = nums[start];            i++;        }        start++;    }        for(var j=i;j<len;j++) {        nums[j] = 0;    }};



0 0