LeetCode100 283.移动零

标准双指针

  • 慢指针 l:标记「下一个非 0 数字应该放的位置」

  • 快指针 i:遍历整个数组,寻找非 0 元素

  • 遇到非 0:交换 nums[l] 和 nums[i],然后 l++

  • 遇到 0:什么都不做,i 继续往前走

    class Solution {
    public void moveZeroes(int[] nums) {
    int l = -1;
    int r = 0;
    for(int i = 0; i < nums.length; i++) {
    if(nums[i] != 0){
    int t = nums[r];
    nums[r] = nums[++l];
    nums[l] = t;
    r++;
    }
    r++;
    }
    }
    }

这里的 r 其实完全可以用 i 代替 写 r 是为了方便理解

字丑 凑合看

相关推荐
海绵宝宝转agent1 小时前
LeetCode100个人题解+java面经总结
java·开发语言·笔记·学习·算法
文丑颜不良啊1 小时前
LeetCode1201~1220题目解析
java·leetcode
香蕉大香蕉(06敬畏市场)1 小时前
高频八股 · JVM(7):方法区、元空间与字符串常量池
java·jvm·ai·博客·八股·大厂实习
LazyHunter91 小时前
Spring Boot 3 微服务实践指南
java·spring boot
zzu123zsw1 小时前
从 SPI 契约到独立 ClassLoader 隔离:Spring Boot 插件热插拔架构设计与内存泄露防御
java·spring boot·后端·架构设计
文丑颜不良啊1 小时前
LeetCode1161~1180题目解析
java·leetcode
古法老登瞎折腾9 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
飞Link9 小时前
什么是 AirSim?一文读懂无人机仿真平台
python·算法·无人机
智能运维指南10 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸