【leetcode】283. Move Zeroes

来源:互联网 发布:js 支持base64编码 编辑:程序博客网 时间:2024/05/18 20:33

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:
You must do this in-place without making a copy of the array.
Minimize the total number of operations.

相当于设了两个指针,然后进行运算

/** * @param {number[]} nums * @return {void} Do not return anything, modify nums in-place instead. */var moveZeroes = function(nums) {    var ll = nums.length;    var loc_zero=-1;    for(var i=0;i<ll;i++){        if(loc_zero===-1&&nums[i]===0){            loc_zero=i;        }        if(nums[i]!==0&&loc_zero!==-1){            nums[loc_zero]=nums[i];            nums[i]=0;            loc_zero++;            while(nums[loc_zero]!==0){                loc_zero++;            }        }    }};
0 0
原创粉丝点击