題目描述
難度級別:簡單
給定一個數(shù)組 nums,編寫一個函數(shù)將所有 0 移動到數(shù)組的末尾,同時保持非零元素的相對順序。
示例:
輸入: [0,1,0,3,12]
輸出: [1,3,12,0,0]
說明:
必須在原數(shù)組上操作,不能拷貝額外的數(shù)組。
盡量減少操作次數(shù)。
解題思路
通過雙指針,當(dāng)遍歷到的元素不為0時,交換指針元素。
const moveZeroes = function(nums) {
let j = 0
for (let i = 0; i < nums.length; i++) {
if(nums[i] !== 0) {
let temp = nums[i];
[nums[i], nums[j++]] = [nums[j], temp]
}
}
};
題目來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/move-zeroes