刷 LeetCode 总是看不懂题解?这个网站把每一步指针都做成了动画

刷算法题,最磨人的往往不是写代码,而是”脑内模拟”:双指针到底谁先动?单调栈什么时候出栈?DP 表格这一格是从哪一格推过来的?题解里一句”显然”,自己在草稿纸上画半天还是一头雾水。

算法动画实验室(AlgoLab) 是一个打开浏览器就能用的 LeetCode 经典题可视化网站:选一道题,点”播放”,数组下标、指针、哈希表、栈、链表、二叉树、图、DP 表格就会一步一步动起来,旁边的代码逐行高亮、变量实时变化。看一遍动画,比读三遍题解更容易懂。

👉 立即免费使用 → LEETCODE.OOOOOOOO.CN

首页:56 道动画题、12 个专题,顶部可按题号 / 题名 / 标签搜索,按难度筛选

一、不用安装,打开就能看

算法动画实验室完全运行在浏览器里,不需要下载软件,也不需要配置任何环境。界面很清爽:

  • 左侧目录:所有题目按专题排好,题号一目了然,点哪道看哪道;
  • 中间动画区:数据结构的状态以图形方式展示,每一步都配有一句中文说明;
  • 下方代码区:Python 代码逐行高亮,当前执行到哪一行一眼就能看到;
  • 右上角 ◐:一键切换深色模式,晚上刷题也不刺眼。

二、56 道高频经典题,12 个专题全覆盖

网站精选了 LeetCode 上最高频、最经典的 56 道题(简单 16 道 / 中等 35 道 / 困难 5 道),按数据结构和算法思想分成 12 个专题:

专题内容代表题目
📊 排序算法冒泡、快速、归并、堆排序912 排序数组(4 种解法)
👉 数组与双指针哈希、相向 / 同向双指针1 两数之和、15 三数之和、42 接雨水
🪟 滑动窗口可变窗口、单调队列3 无重复字符的最长子串、76 最小覆盖子串
🎯 二分查找有序区间折半704 二分查找、33 搜索旋转排序数组
🥞 栈与单调栈括号匹配、下一个更大元素20 有效的括号、84 柱状图中最大的矩形
🔗 链表指针改写、快慢指针、LRU206 反转链表、141 环形链表、146 LRU 缓存
🌳 二叉树与堆遍历、递归、BST、堆102 层序遍历、236 最近公共祖先
🕸️ 图与搜索DFS、BFS、拓扑、最短路、并查集200 岛屿数量、207 课程表、743 网络延迟时间
🔙 回溯排列、子集、N 皇后46 全排列、78 子集、51 N 皇后
🧩 动态规划一维、背包、序列、二维 DP70 爬楼梯、322 零钱兑换、72 编辑距离
💰 贪心局部最优推出全局最优121 买卖股票的最佳时机、56 合并区间
🔤 字符串与位运算回文、KMP、字典树、异或5 最长回文子串、28 KMP、208 Trie

每张题目卡片上都写着一句话的核心思路,比如”慢指针一次走一步,快指针一次走两步,有环必然相遇”。还没点进去,就已经记住一半了。

顶部的搜索框支持按题号、题名或标签查找,输入”二分””单调栈””DP”就能把同类题一次筛出来,配合”简单 / 中等 / 困难”筛选,按专题刷题非常顺手。

三、逐步播放:每一步指针都在动

以 42. 接雨水为例:上方是柱子(灰)与积水(蓝),中间是 height 数组和 l、r 两个指针

这是算法动画实验室最核心的功能。点进任意一道题,你会看到:

  • 播放控制:⏮ 回到开头、◀ 上一步、▶ 播放 / 暂停、▶ 下一步、⏭ 跳到结尾,还有进度条可以随意拖动;
  • 速度调节:0.5×、1×、2×、4× 四档,难点慢放,熟悉的部分快进;
  • 键盘快捷键:← → 单步前进 / 后退,空格 播放 / 暂停,双手不用离开键盘;
  • 每步说明:例如”rightMax=2 ≤ leftMax=2,结算右边:位置 9 存水 2 − 1 = 1″,把”为什么这样走”直接写在动画下面。

不同类型的题目有不同的可视化方式:数组题看下标和指针移动,栈和队列看元素进出,链表看 next 指针一根根掉头,二叉树看遍历顺序和递归调用栈的展开与回溯,图搜索看 BFS 一圈圈向外扩散,动态规划则直接把整张 DP 表格一格一格填出来。

四、代码逐行高亮 + 变量面板,和动画完全同步

动画走到第 7 步时,代码高亮停在 ans += rmax - h[r]; r -= 1,变量面板同步显示当前值

很多可视化工具只有动画、没有代码,看完还是不会写。算法动画实验室把动画、代码、变量三者绑在一起:

  • 动画每走一步,代码区就高亮当前执行的那一行;
  • 下方变量面板实时显示 l、r、lmax、rmax、ans 等关键变量的值;
  • 代码短小精炼,基本就是面试时能直接写出来的标准答案。

看动画理解思路,看高亮对应代码,看变量核对细节,这三者对上了,这道题就算真正吃透了。

五、输入你自己的测试数据

默认样例看懂了,换一组数据还行吗?每道题的动画上方都有输入框,比如接雨水可以改 height 数组,编辑距离可以改 word1 和 word2,改完点 “▶ 用这组数据运行”,动画就按你的数据重新生成。

自己写的代码在某个用例上出错了?把那组数据放进来跑一遍,看看正确解法每一步是怎么走的,比对着报错信息干瞪眼高效得多。

六、DP 表格一格一格填,深色模式也护眼

72. 编辑距离:dp 表一格一格填,当前格和它依赖的格子用不同颜色标出

动态规划是很多人刷题路上最大的坎。状态转移方程看着简单,真到填表时却不知道”这一格到底从哪来”。在算法动画实验室里,8 道 DP 题都能看到完整的填表过程:

  • 爬楼梯 / 打家劫舍:一维 DP 数组从左到右推进;
  • 零钱兑换 / 分割等和子集:完全背包和 0-1 背包的遍历顺序差异一目了然;
  • 最长公共子序列 / 编辑距离:二维表格中,当前格和它依赖的左边、上边、左上格子同时高亮,每步都说明”字符相同取左上””不同取三者最小 + 1″。

七、不只是动画:解题思路、复杂度、易错点一应俱全

动画下方还有一份精炼的题解:

  • 💡 解题思路:用几句话讲清核心想法,比如接雨水的”短板决定水位”;
  • 时间 / 空间复杂度:直接标出,面试时被追问也不慌;
  • 🧠 技巧与易错点:列出多种解法的对比和常见坑,比如”先更新 max 再计算水量,水量不会是负数”;
  • 同类题推荐:接雨水后面会推荐 11 盛最多水的容器、84 柱状图中最大的矩形,顺藤摸瓜一次刷一类;
  • 原题直达:每道题都附有 LeetCode 原题 和 力扣中文 链接,看懂了马上去提交。

页面底部还有”上一题 / 下一题”导航,可以像看课程一样按专题顺序一路刷下去。

适合谁用?

  • 算法入门的同学:数据结构课学完还是不会写代码?看动画把抽象的指针和递归变成看得见的过程;
  • 准备面试的求职者:56 道题基本覆盖大厂面试高频题型,按专题过一遍,查漏补缺;
  • 备战考研 / 竞赛的学生:排序、二分、DP、图论这些基本功,用动画巩固印象更深刻;
  • 老师和助教:上课直接打开网页演示,比在黑板上画指针清楚得多,还能现场改数据演示边界情况;
  • 写技术博客的作者:讲解某道题时,配上动画链接,读者一点就懂。

常见问题

需要安装软件或插件吗? 不需要。打开浏览器访问网址即可,推荐使用 Chrome、Edge 等新版浏览器。

需要注册登录吗? 不需要。打开网站就能直接看题、播放动画和输入自定义数据。

代码是什么语言? 目前展示的是 Python 代码,写法简洁,用其他语言的同学也能轻松看懂思路并自行改写。

能用自己的数据测试吗? 可以。每道题都有输入框,改好数据后点”用这组数据运行”即可。


刷题不再靠死磕题解,现在就打开看看,让每一步指针都动起来 👇

👉 打开算法动画实验室 LEETCODE.OOOOOOOO.CN