1. 程式人生 > >前端演算法:給定一個數組,寫一個函式將所有0的移動到它的末尾,同時保持非零元素的相對順序(移動零)

前端演算法:給定一個數組,寫一個函式將所有0的移動到它的末尾,同時保持非零元素的相對順序(移動零)

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

例:
輸入: [0,1,0,3,12]
輸出: [1,3,12,0,0]
注意:
您必須在不製作陣列副本的情況下就地執行此操作。
最小化操作總數。

<script>
    var moveZeroes = function(nums) {   
    for(var i = nums.length;i--;){
        if(nums[i]===0){
            nums.splice(i,1) // https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
            nums.push(0);
        }
    }
    return nums;
};
var nums = [0,1,0,3,12];
console.log(moveZeroes(nums));
</script>