Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

常见数据结构经典 LeetCode 题目推荐

刷数据结构题,不建议只按难度从 Easy 刷到 Hard。更稳的方式是按结构建立题型:数组看下标和区间,链表看指针,栈队列看顺序约束,树图看遍历,堆看优先级,哈希表看快速定位。

下面的题单控制在面试高频和模板代表题范围内。每类先做“必刷题”,再做“进阶题”。题目做完后,至少写下复杂度、边界样例和这题属于哪个模板。

怎么用这份题单

数据结构题不要只记结论。每刷一类题,先回到对应结构看一次“存储方式、核心操作、复杂度”,再动手写题。这样面试官追问 Java 集合、Redis、MySQL 索引或缓存场景时,答案不会只停在题解层面。

结构先读什么刷题时重点看什么
数组、链表、栈队列线性数据结构详解、双指针与滑动窗口下标、指针更新、入栈出栈时机
哈希表哈希表面试题总结key 的设计、计数时机、冲突和扩容
树和图树结构详解、图详解、DFS 与 BFS递归返回值、访问标记、BFS 层数统计
堆和 Top K堆详解、Top K 问题面试题总结堆大小、比较器、数据流场景
Trie 和并查集Trie 前缀树面试题总结、并查集面试题总结节点结构、结束标记、路径压缩、连通判断
LRULRU 缓存面试题总结哈希表和双向链表如何保持 O(1)

数组

题型必刷题进阶题面试价值复盘重点
二分查找704. 二分查找34. 在排序数组中查找元素的第一个和最后一个位置考循环条件和边界left <= right、左右边界更新
原地修改26. 删除有序数组中的重复项80. 删除有序数组中的重复项 II考双指针写法慢指针含义、覆盖时机
双指针977. 有序数组的平方15. 三数之和高频数组题排序后去重、左右指针移动
前缀和303. 区域和检索 - 数组不可变560. 和为 K 的子数组子数组题入口前缀和含义、哈希表计数

链表

题型必刷题进阶题面试价值复盘重点
基础操作707. 设计链表24. 两两交换链表中的节点考节点操作基本功虚拟头节点、插入删除顺序
链表反转206. 反转链表92. 反转链表 II高频手写题prev、cur、next 的更新顺序
快慢指针141. 环形链表142. 环形链表 II常见追问题相遇点和入环点推导
删除节点19. 删除链表的倒数第 N 个结点61. 旋转链表考边界处理链表长度、头节点被删

栈与队列

题型必刷题进阶题面试价值复盘重点
结构模拟232. 用栈实现队列225. 用队列实现栈考结构理解入队栈、出队栈职责
括号匹配20. 有效的括号394. 字符串解码字符串栈题入口什么时候入栈、什么时候弹栈
单调栈739. 每日温度84. 柱状图中最大的矩形中高频题型栈中维护递增还是递减
单调队列239. 滑动窗口最大值862. 和至少为 K 的最短子数组Hard 题常见模板队首过期、队尾维护单调性

哈希表

题型必刷题进阶题面试价值复盘重点
快速查找1. 两数之和49. 字母异位词分组哈希表入门key 的设计
计数242. 有效的字母异位词347. 前 K 个高频元素高频统计题数组计数和 Map 计数怎么选
前缀和 + 哈希560. 和为 K 的子数组974. 和可被 K 整除的子数组子数组题常考先查再加,避免把当前前缀算进去
缓存结构146. LRU 缓存460. LFU 缓存手写设计题哈希表和双向链表协作

二叉树

题型必刷题进阶题面试价值复盘重点
遍历144. 二叉树的前序遍历102. 二叉树的层序遍历树题基础递归边界、队列层数
路径问题112. 路径总和124. 二叉树中的最大路径和DFS 高频返回值和全局答案分开
构造树105. 从前序与中序遍历序列构造二叉树106. 从中序与后序遍历序列构造二叉树考递归区间下标范围别写乱
最近公共祖先236. 二叉树的最近公共祖先235. 二叉搜索树的最近公共祖先高频追问普通树和 BST 的解法差异

图

题型必刷题进阶题面试价值复盘重点
网格 DFS/BFS200. 岛屿数量695. 岛屿的最大面积图搜索入门越界、访问标记
拓扑排序207. 课程表210. 课程表 II依赖关系题入度数组、队列
最短路径994. 腐烂的橘子127. 单词接龙BFS 层序应用每层步数统计
连通性547. 省份数量684. 冗余连接并查集入口find 和 union 模板

堆

题型必刷题进阶题面试价值复盘重点
第 K 大215. 数组中的第 K 个最大元素703. 数据流中的第 K 大元素Top K 高频小顶堆大小保持为 K
频率统计347. 前 K 个高频元素692. 前 K 个高频单词哈希表 + 堆比较器写法
双堆295. 数据流的中位数480. 滑动窗口中位数进阶设计题大顶堆和小顶堆平衡

Trie 与并查集

结构必刷题进阶题面试价值复盘重点
Trie208. 实现 Trie211. 添加与搜索单词字符串集合题节点结构、结束标记
Trie + DFS212. 单词搜索 II648. 单词替换中高频题前缀剪枝
并查集547. 省份数量1319. 连通网络的操作次数连通性模板路径压缩
并查集判环684. 冗余连接990. 等式方程的可满足性图题常见变体先合并等式,再检查冲突