Skip to content

Latest commit

 

History

History
42 lines (35 loc) · 872 Bytes

283-移动零.md

File metadata and controls

42 lines (35 loc) · 872 Bytes

283-移动零

原题

就是一个数组中有多个零,要把所有的零移到数组的最后面去

const moveZeroes = function (nums) {
    let j = 0;
    for (let i = 0; i < nums.length; i++) {
        if (nums[i] !== 0) {
            nums[j] = nums[i];
            if (i !== j) {
                nums[i] = 0;
            }
            j++;
        }
    }
    return nums;
}

let result = moveZeroes([0, 0, 1, 3, 4]);
console.log(result)

看到一个更好理解的(作者真是太牛逼了)

const moveZeroes = function (nums) {
    let zeroAt = 0;

    for (let i = 0; i < nums.length; i++) {
        if (nums[i] !== 0) {
            nums[zeroAt++] = nums[i];
        }
    }

    for (let i = zeroAt; i < nums.length; i++) {
        nums[i] = 0;
    }

    return nums;
}