概览

返回

本系列聚焦 LeetCode Hot 100,目标不是“逐题翻译答案”,而是帮你:

  • 建立一张 知识地图:哪些题在考什么数据结构 / 思维方式。
  • 设计一条 刷题路径:从简单到困难,保证每一类题至少有 2~3 道代表作。
  • 结合 Java 代码,讲清楚 为什么这么写,而不只是“能 AC 的模板”。

推荐刷题顺序(按题型分层)

建议按下面的维度来刷,而不是照着题号顺序一题一题啃:

  1. 基础数据结构与栈 / 队列
    • 有效的括号(本系列的第一个例子)
    • 最小栈、用栈实现队列等。
  2. 哈希表与集合
    • 两数之和、无重复字符的最长子串等。
  3. 双指针与滑动窗口
    • 盛最多水的容器、三数之和、滑动窗口最大值等。
  4. 链表操作
    • 反转链表、环形链表、两数相加等。
  5. 树与二叉树
    • 二叉树层序遍历、对称二叉树、二叉树的最大深度等。
  6. 回溯与搜索
    • 全排列、组合总和、子集等。
  7. 动态规划
    • 打家劫舍、最长上升子序列、编辑距离等。

你可以把 Hot 100 当成一个“题库”,但刷的时候尽量按 题型分组 + 难度分层,这样收获会更系统。

文档结构说明

在「算法 / LeetCode hot100」这个小分类下:

  • 本篇文档(概览):
    • 负责解释整体学习路线与题型拆分。
    • 在文档首页「算法」分类下,会用本篇的 summary 作为卡片简介。
  • 每一道具体题目(例如:020-有效的括号):
    • 负责讲清楚某一题的具体思路与 Java 实现。
    • 在进入任何一篇题解后,左侧会出现本 topic 下的所有题目列表,方便横向跳转。

所以:

  • 想看“这个系列整体怎么刷” → 打开本篇概览。
  • 想看“某一题的详细分析与代码” → 在左侧「LeetCode hot100」列表中选具体题目。

与英文版的对应关系

为了方便中英读者切换,本系列会同时维护:

  • 中文版:section: "算法"topic: "LeetCode hot100"
  • 英文版:section: "Algorithms"topic: "LeetCode hot100"

如果你切到英文站点 /en/docs/,会看到结构基本一致,只是文案与讲解语言换成了英文。