【暴刷力扣】283. 移动零

283. 移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

示例 1:

输入: nums = [0,1,0,3,12]

输出: [1,3,12,0,0]

示例 2:

输入: nums = [0]

输出: [0]

提示:

1 <= nums.length <= 104

-231 <= nums[i] <= 231 - 1

进阶:你能尽量减少完成的操作次数吗?

代码

js 复制代码
var moveZeroes = function(nums) {
   let slow = 0, fast = 0
   for (;fast < nums.length; slow++, fast ++) {
    if (nums[slow] === 0) {
        while (nums[fast] === 0) {
            fast ++
        }
        if (nums[fast]) {
            [nums[fast], nums[slow]] = [nums[slow], nums[fast]]
        }
    }
   }
   return nums
};
相关推荐
LYFlied2 小时前
【每日算法】LeetCode 437. 路径总和 III
前端·算法·leetcode·面试·职场和发展
宵时待雨3 小时前
C语言笔记归纳20:文件操作
c语言·开发语言·笔记·算法
alphaTao5 小时前
LeetCode 每日一题 2025/12/15-2025/12/21
算法·leetcode
写写闲篇儿7 小时前
下一个更大元素(一)
数据结构·算法
MobotStone9 小时前
从金鱼记忆到过目不忘:Transformer 如何让AI真正理解一句话?
算法
炽烈小老头10 小时前
【每天学习一点算法 2025/12/19】二叉树的层序遍历
数据结构·学习·算法
Queenie_Charlie10 小时前
HASH表
数据结构·c++·哈希算法
Xの哲學10 小时前
Linux grep命令:文本搜索的艺术与科学
linux·服务器·算法·架构·边缘计算
soft200152510 小时前
MySQL Buffer Pool深度解析:LRU算法的完美与缺陷
数据库·mysql·算法
WBluuue11 小时前
AtCoder Beginner Contest 436(ABCDEF)
c++·算法