概览
返回本系列聚焦 LeetCode Hot 100,目标不是“逐题翻译答案”,而是帮你:
- 建立一张 知识地图:哪些题在考什么数据结构 / 思维方式。
- 设计一条 刷题路径:从简单到困难,保证每一类题至少有 2~3 道代表作。
- 结合 Java 代码,讲清楚 为什么这么写,而不只是“能 AC 的模板”。
推荐刷题顺序(按题型分层)
建议按下面的维度来刷,而不是照着题号顺序一题一题啃:
- 基础数据结构与栈 / 队列
- 有效的括号(本系列的第一个例子)
- 最小栈、用栈实现队列等。
- 哈希表与集合
- 两数之和、无重复字符的最长子串等。
- 双指针与滑动窗口
- 盛最多水的容器、三数之和、滑动窗口最大值等。
- 链表操作
- 反转链表、环形链表、两数相加等。
- 树与二叉树
- 二叉树层序遍历、对称二叉树、二叉树的最大深度等。
- 回溯与搜索
- 全排列、组合总和、子集等。
- 动态规划
- 打家劫舍、最长上升子序列、编辑距离等。
你可以把 Hot 100 当成一个“题库”,但刷的时候尽量按 题型分组 + 难度分层,这样收获会更系统。
文档结构说明
在「算法 / LeetCode hot100」这个小分类下:
- 本篇文档(概览):
- 负责解释整体学习路线与题型拆分。
- 在文档首页「算法」分类下,会用本篇的
summary作为卡片简介。
- 每一道具体题目(例如:020-有效的括号):
- 负责讲清楚某一题的具体思路与 Java 实现。
- 在进入任何一篇题解后,左侧会出现本
topic下的所有题目列表,方便横向跳转。
所以:
- 想看“这个系列整体怎么刷” → 打开本篇概览。
- 想看“某一题的详细分析与代码” → 在左侧「LeetCode hot100」列表中选具体题目。
与英文版的对应关系
为了方便中英读者切换,本系列会同时维护:
- 中文版:
section: "算法",topic: "LeetCode hot100"。 - 英文版:
section: "Algorithms",topic: "LeetCode hot100"。
如果你切到英文站点 /en/docs/,会看到结构基本一致,只是文案与讲解语言换成了英文。