1. 程式人生 > >leetcode(6)移動零的js實現

leetcode(6)移動零的js實現

一.題目描述:

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

示例:

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

必須在原陣列上操作,不能拷貝額外的陣列。
儘量減少操作次數。

二.js程式碼實現:

1.實現思路:

(1)從陣列的最後一個元素往前面遍歷迴圈,如果該元素為0,則將該元素0刪除,並將其新增到陣列的末尾

(2)運用陣列的splice方法刪除0元素,陣列的push方法將0新增到陣列末尾

2.js程式碼:

/**
 * @param {number[]} nums
 * @return {void} Do not return anything, modify nums in-place instead.
 */
var moveZeroes = function(nums) {
    let len = nums.length-1;
    for(let i = len; i>=0; i--)
    {
        if(nums[i] == 0)
        {
            nums.push(nums.splice(i,1));
        }
    }
};