Skip to content

Latest commit

 

History

History
107 lines (83 loc) · 15.9 KB

File metadata and controls

107 lines (83 loc) · 15.9 KB
title 常见数据结构经典 LeetCode 题目推荐
description 按数组、链表、栈、队列、哈希表、树、图、堆、Trie、并查集等结构整理 LeetCode 高频题,给出题型、模板、面试价值和复盘重点。
category 计算机基础
tag
算法
数据结构
LeetCode
head
meta
name content
keywords
LeetCode,数据结构,数组,链表,栈,队列,哈希表,二叉树,图,堆,Trie,并查集,题目推荐,刷题路线

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

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

怎么用这份题单

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

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

数组

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

链表

题型 必刷题 进阶题 面试价值 复盘重点
基础操作 707. 设计链表 24. 两两交换链表中的节点 考节点操作基本功 虚拟头节点、插入删除顺序
链表反转 206. 反转链表 92. 反转链表 II 高频手写题 prevcurnext 的更新顺序
快慢指针 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/BFS 200. 岛屿数量 695. 岛屿的最大面积 图搜索入门 越界、访问标记
拓扑排序 207. 课程表 210. 课程表 II 依赖关系题 入度数组、队列
最短路径 994. 腐烂的橘子 127. 单词接龙 BFS 层序应用 每层步数统计
连通性 547. 省份数量 684. 冗余连接 并查集入口 findunion 模板

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

Trie 与并查集

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

复习路线入口

这篇文章只保留数据结构相关题单。7 天复习路线和 30 天复习路线统一维护在数据结构复习总览,避免题单文章和总览页重复维护同一套计划。