【暴刷力扣】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 <= numsi <= 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
};
相关推荐
坚持编程的菜鸟15 小时前
模拟实现memmove
c语言·算法·模拟实现memmove
wabs66616 小时前
关于图论【最短路径之Dijkstra算法(堆优化版)|卡码网47.参加科学大会的思考】
数据结构·算法·图论·优先级队列·邻接表·小顶堆·卡码网
坚持编程的菜鸟17 小时前
编写判断大小端程序
c语言·算法·判断大小端
papaofdoudou17 小时前
判断排列逆序奇偶性的乘积判别法(范德蒙德符号法)
人工智能·算法
linux-hzh17 小时前
百日算法修炼 · Day 03
java·算法
问商十三载18 小时前
RAG 检索效果差怎么排查?2026 五层诊断法完整指南
开发语言·人工智能·windows·python·算法
嵌入式老牛18 小时前
三相电气量采集模块设计(三)非同步采样时的精度提升
算法·精度·计量
今天AI了吗19 小时前
精细化落地教程:TimechoAI调参标准+数据清洗规范+误差归因+阈值适配全维度指南
大数据·人工智能·算法
zephyr0520 小时前
从递归到迭代:二叉树非递归前中后序遍历详解
算法
evans在进步20 小时前
LeetCode 2 两数相加:链表模拟加法,Java 图解进位过程
java·leetcode·链表