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

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

快慢指针

30min

java 复制代码
    public void moveZeroes(int[] nums) {
    int slowPoint = 0; // 慢指针,指向非零元素的位置
    // 遍历数组
    for (int fastPoint = 0; fastPoint < nums.length; fastPoint++) {
        if (nums[fastPoint] != 0) {
            // 交换慢指针和快指针的位置
            nums[slowPoint] = nums[fastPoint];
            slowPoint++;
        }
    }
    
    // 将剩余的位置填充为0
    for (int i = slowPoint; i < nums.length; i++) {
        nums[i] = 0;
    }
}
相关推荐
Imxyk13 分钟前
力扣:632. 最小区间(贪心)
java·数据结构·算法
Mr_Xuhhh18 分钟前
递归和迭代的区别(C/C++实现)
算法
历程里程碑20 分钟前
21:重谈重定义理解一切皆“文件“及缓存区
linux·c语言·开发语言·数据结构·c++·算法·缓存
2501_9011478322 分钟前
PyTorch DDP官方文档学习笔记(核心干货版)
pytorch·笔记·学习·算法·面试
Daydream.V25 分钟前
决策树三中分类标准
算法·决策树·分类
闲人不梦卿34 分钟前
数据结构之排序方法
数据结构·算法·排序算法
TracyCoder12334 分钟前
LeetCode Hot100(24/100)——21. 合并两个有序链表
算法·leetcode·链表
power 雀儿37 分钟前
前馈网络+层归一化
人工智能·算法
爱吃rabbit的mq39 分钟前
第10章:支持向量机:找到最佳边界
算法·机器学习·支持向量机
木非哲43 分钟前
AB实验高级必修课(四):逻辑回归的“马甲”、AUC的概率本质与阈值博弈
算法·机器学习·逻辑回归·abtest