← [ BACK_TO_NOTES ]

移动零

283. 移动零 - 力扣(LeetCode)

#algorithm #snippet #evergreen #leetcode #two-pointers #array

[!info] related notes 算法面试题型 MOC 双指针

移动零

283. 移动零 - 力扣(LeetCode)

解法

原地栈

var moveZeroes = function(nums) {
    let index = 0;
    for (const a of nums) {
        if (a === 0) {
            continue
        } else {
            nums[index] = a;
            index++;
        }

    }
    while(index < nums.length) {
        nums[index] = 0;
        index++
    }
};

双指针

var moveZeroes = function(nums) {
	// 左指针用于确定下一个非零数的位置,右指针去遍历每一个数,把非零数放到左指针处。
    let zeroIndex = 0;
    for (let i = 0; i < nums.length; i++) {
        if (nums[i] !== 0) {
            [nums[zeroIndex], nums[i]] = [nums[i],nums[zeroIndex]]
            zeroIndex++;
        }
    }
};
创建于 2025/1/1 更新于 2026/7/15
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本