【LeetCode】數組初級算法-移動零

題目描述

移動零
給定一個數組 nums,編寫一個函數將全部 0 移動到數組的末尾,同時保持非零元素的相對順序。數組

示例:函數

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

說明:code

必須在原數組上操做,不能拷貝額外的數組。
儘可能減小操做次數。

思路

刪除元素0使用splice(),添加數組元素使用push().
注意下標的計算。ip

JavaScript實現

/**
 * @param {number[]} nums
 * @return {void} Do not return anything, modify nums in-place instead.
 */
var moveZeroes = function(nums) {
    let n = nums.length;
    for(let i = 0; i < n;){
        if(nums[i] == 0){
            nums.splice(i,1);
            nums.push(0);
            n--;
        }else{
            i++;
        }
    }
};
相關文章
相關標籤/搜索