力扣-移动零

文章目录

题目

原题链接:移动零

题解

思路:快慢指针(双指针)法

  • 慢指针(l):用于标记当前非零元素应该存放的位置。
  • 快指针(h):用于遍历整个数组。
java 复制代码
public class Test {
    public static void moveZeroes(int[] nums) {
        int l = 0, h = 0;
        for (; h < nums.length; h++) {
            if (nums[h] != 0) {
                nums[l++] = nums[h];
            }
        }
        for (; l < nums.length; l++) {
            nums[l] = 0;
        }
    }

    public static void main(String[] args) {
        int[] nums = {0, 1, 0, 3, 12};
        moveZeroes(nums);
        System.out.println(Arrays.toString(nums));
    }
}

❤觉得有用的可以留个关注❤

相关推荐
leiming63 小时前
C++ vector容器
开发语言·c++·算法
Xの哲學4 小时前
Linux流量控制: 内核队列的深度剖析
linux·服务器·算法·架构·边缘计算
yaoh.wang4 小时前
力扣(LeetCode) 88: 合并两个有序数组 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·双指针
LYFlied5 小时前
【每日算法】 LeetCode 56. 合并区间
前端·算法·leetcode·面试·职场和发展
艾醒6 小时前
大模型原理剖析——多头潜在注意力 (MLA) 详解
算法
艾醒6 小时前
大模型原理剖析——DeepSeek-V3深度解析:671B参数MoE大模型的技术突破与实践
算法
jifengzhiling6 小时前
零极点对消:原理、作用与风险
人工智能·算法
鲨莎分不晴7 小时前
【前沿技术】Offline RL 全解:当强化学习失去“试错”的权利
人工智能·算法·机器学习
XFF不秃头8 小时前
力扣刷题笔记-全排列
c++·笔记·算法·leetcode