283. Move Zeroes
题目简介
/**
* @param {number[]} nums
* @return {void} Do not return anything, modify nums in-place instead.
*/
题目给我们一个数字数组 nums
要求我们把 nums 中所有非零的元素原地前移
解题思路
我们用一个指针 pos 指向当前可以交换的位置
然后用另外一个指针 i 遍历数组,如果遇到不为 0 的元素则跟 pos 交换,交换完成后将 pos++ 即可
Javascript
/**
* @param {number[]} nums
* @return {void} Do not return anything, modify nums in-place instead.
*/
var moveZeroes = function (nums) {
let pos = 0
for (let i = 0; i < nums.length; i++) {
if (nums[i] !== 0) {
;[nums[pos], nums[i]] = [nums[i], nums[pos]]
pos++
}
}
};