升维 空间换时间
跳表
移动零
//非0项覆盖到数组前头
//j 是非0 的坑位
var moveZeroes = function (nums) {
let j = 0;
for (let i = 0; i < nums.length; i++) {
if (nums[i] != 0) {
//遇到 非 0 项
nums[j] = nums[i]; // 覆盖到j上
j++; //j后移
}
}
for (let i = j; i < nums.length; i++) {
//剩下的位置赋为0
nums[i] = 0;
}
return nums;
};
console.log(moveZeroes([0, 1, 0, 3, 12]));