框架通解 · 举一反三 · 真正学会解题,而不是背题。
LeetCode 题解仓库,收录 300+ 道题目的 JavaScript / TypeScript 解法,按数据结构与算法分类整理。
但这个仓库不只是题解集合——更重要的是配套的 专题文档站,它系统梳理了各类经典题型的解题框架与通用模板,帮你从"这道题怎么做"升级为"这类题怎么解"。
刷 LeetCode 最常见的困境:题做了几百道,换一道还是不会。根本原因是 只在记忆解法,没有掌握框架。
本仓库的专题文档正是为了解决这个问题——每一篇专题都在提炼一类题型的 核心思维模型和代码框架,让你拿到一道新题时能够:
- 识别题型 → 这是哪类问题?
- 套用框架 → 这类问题的通用解法结构是什么?
- 灵活变通 → 这道题在框架基础上需要做什么调整?
以下专题覆盖了 LeetCode 最核心的算法知识体系,建议按顺序阅读:
| # | 专题 | 关键内容 |
|---|---|---|
| 0 | 前言 | 写给工程师的算法学习观:提炼思想,拓展视野,而非做题家 |
| 1 | 重新认识递归 | 递归的本质、思维方式与代码模板——一切高级算法的基石 |
| 2 | 二叉树遍历算法 | 前/中/后序遍历框架(含 BST 中序应用),理解"遍历"与"分解问题"两种思路 |
| 3 | 排序算法 | 经典排序算法对比与实现,理解分治与交换的思想 |
| 4 | 双指针问题 | 快慢指针、左右指针、滑动窗口——线性结构问题的利器 |
| 5 | 二分搜索专题 | 统一二分搜索框架,彻底搞定边界问题 |
| 6 | 回溯问题 | 排列/组合/子集的通用回溯框架,一套模板解决一类问题 |
| 7 | 深度优先搜索 (DFS) | 岛屿问题、连通分量、FloodFill 的 DFS 通解 |
| 8 | 广度优先搜索 (BFS) | 最短路径、层序遍历的 BFS 框架与变体 |
| 9 | 动态规划 - 问题推导 | DP 的思维推导过程:状态定义 → 转移方程 → 边界处理 |
| 10 | 动态规划 - 背包问题 | 0-1 背包、完全背包的通用框架与空间优化 |
| 11 | 动态规划 - 子序列问题 | LCS、LIS 等经典子序列 DP 模型 |
| 12 | 图遍历算法 | 图的表示、遍历、环检测与拓扑排序 |
| 13 | 单调栈算法 | 单调栈框架:下一个更大元素、柱状图等问题的通解 |
📌 推荐学习路径:递归 → 二叉树 → 回溯 → DFS/BFS → 动态规划 → 其他专题
所有题解按算法/数据结构分为 22 个类别,每道题都有完整的思路注释:
|
|
- Node.js >= 20
- pnpm >= 9
pnpm dev # 本地启动文档站
pnpm build # 构建文档站
pnpm typecheck # TypeScript 类型检查
pnpm lint # ESLint 检查
pnpm format # Prettier 格式化
pnpm check # 完整基础检查 (typecheck + lint + format:check)如发现题解有误或有更优解法,欢迎提 Issue 或 Pull Request,不胜感激。
MIT © Duang