刷算法题,最磨人的往往不是写代码,而是”脑内模拟”:双指针到底谁先动?单调栈什么时候出栈?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 柱状图中最大的矩形 |
| 🔗 链表 | 指针改写、快慢指针、LRU | 206 反转链表、141 环形链表、146 LRU 缓存 |
| 🌳 二叉树与堆 | 遍历、递归、BST、堆 | 102 层序遍历、236 最近公共祖先 |
| 🕸️ 图与搜索 | DFS、BFS、拓扑、最短路、并查集 | 200 岛屿数量、207 课程表、743 网络延迟时间 |
| 🔙 回溯 | 排列、子集、N 皇后 | 46 全排列、78 子集、51 N 皇后 |
| 🧩 动态规划 | 一维、背包、序列、二维 DP | 70 爬楼梯、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