【暴刷力扣】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
};
相关推荐
星火开发设计15 分钟前
堆排序原理与C++实现详解
java·数据结构·c++·学习·算法·排序算法
2501_9418036222 分钟前
在柏林智能城市照明场景中构建实时调控与高并发能耗数据分析平台的工程设计实践经验分享
算法
CoderIsArt24 分钟前
常用SCSI数据结构的详细注释和用法
数据结构
福楠27 分钟前
C++ STL | list
c语言·开发语言·数据结构·c++·算法·list
努力学算法的蒟蒻28 分钟前
day55(1.6)——leetcode面试经典150
算法·leetcode·面试
s砚山s28 分钟前
代码随想录刷题——二叉树篇(十)
算法
2301_7644413329 分钟前
基于HVNS算法和分类装载策略的仓储系统仿真平台
人工智能·算法·分类
AI科技星33 分钟前
统一场论变化的引力场产生电磁场推导与物理诠释
服务器·人工智能·科技·线性代数·算法·重构·生活
杰克逊的日记36 分钟前
规控算法(规划 + 控制算法)
大数据·算法·云计算·it
玉树临风ives36 分钟前
atcoder ABC439 题解
c++·算法