面试进阶 300 题

链表
- 单链表
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 206 | 反转链表 | [✓] | 递归 链表 | 🟢 | 🀄️ 🔗 |
| 141 | 环形链表 | [✓] | 哈希表 链表 双指针 | 🟢 | 🀄️ 🔗 |
| 83 | 删除排序链表中的重复元素 | [✓] | 链表 | 🟢 | 🀄️ 🔗 |
| 234 | 回文链表 | [✓] | 栈 递归 链表 1+ | 🟢 | 🀄️ 🔗 |
| 203 | 移除链表元素 | [✓] | 递归 链表 | 🟢 | 🀄️ 🔗 |
| 237 | 删除链表中的节点 | [✓] | 链表 | 🟠 | 🀄️ 🔗 |
| 876 | 链表的中间结点 | [✓] | 链表 双指针 | 🟢 | 🀄️ 🔗 |
| 92 | 反转链表 II | [✓] | 链表 | 🟠 | 🀄️ 🔗 |
| 143 | 重排链表 | [✓] | 栈 递归 链表 1+ | 🟠 | 🀄️ 🔗 |
| 82 | 删除排序链表中的重复元素 II | [✓] | 链表 双指针 | 🟠 | 🀄️ 🔗 |
| 19 | 删除链表的倒数第 N 个结点 | [✓] | 链表 双指针 | 🟠 | 🀄️ 🔗 |
| 148 | 排序链表 | [✓] | 链表 双指针 分治 2+ | 🟠 | 🀄️ 🔗 |
| 86 | 分隔链表 | [✓] | 链表 双指针 | 🟠 | 🀄️ 🔗 |
| 61 | 旋转链表 | [✓] | 链表 双指针 | 🟠 | 🀄️ 🔗 |
| 142 | 环形链表 II | [✓] | 哈希表 链表 双指针 | 🟠 | 🀄️ 🔗 |
| 147 | 对链表进行插入排序 | [✓] | 链表 排序 | 🟠 | 🀄️ 🔗 |
| 138 | 随机链表的复制 | [✓] | 哈希表 链表 | 🟠 | 🀄️ 🔗 |
| 24 | 两两交换链表中的节点 | [✓] | 递归 链表 | 🟠 | 🀄️ 🔗 |
| 328 | 奇偶链表 | [✓] | 链表 | 🟠 | 🀄️ 🔗 |
| 707 | 设计链表 | [✓] | 设计 链表 | 🟠 | 🀄️ 🔗 |
| 109 | 有序链表转换二叉搜索树 | [✓] | 树 二叉搜索树 链表 2+ | 🟠 | 🀄️ 🔗 |
| 430 | 扁平化多级双向链表 | [✓] | 深度优先搜索 链表 双向链表 | 🟠 | 🀄️ 🔗 |
| 725 | 分隔链表 | 链表 | 🟠 | 🀄️ 🔗 | |
| 25 | K 个一组翻转链表 | [✓] | 递归 链表 | 🔴 | 🀄️ 🔗 |
- 双链表
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 21 | 合并两个有序链表 | [✓] | 递归 链表 | 🟢 | 🀄️ 🔗 |
| 160 | 相交链表 | [✓] | 哈希表 链表 双指针 | 🟢 | 🀄️ 🔗 |
| 2 | 两数相加 | [✓] | 递归 链表 数学 | 🟠 | 🀄️ 🔗 |
| 445 | 两数相加 II | [✓] | 栈 链表 数学 | 🟠 | 🀄️ 🔗 |
| 1669 | 合并两个链表 | 链表 | 🟠 | 🀄️ 🔗 | |
| 23 | 合并 K 个升序链表 | [✓] | 链表 分治 堆(优先队列) 1+ | 🔴 | 🀄️ 🔗 |
树
- 遍历
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 145 | 二叉树的后序遍历 | [✓] | 栈 树 深度优先搜索 1+ | 🟢 | 🀄️ 🔗 |
| 94 | 二叉树的中序遍历 | [✓] | 栈 树 深度优先搜索 1+ | 🟢 | 🀄️ 🔗 |
| 589 | N 叉树的前序遍历 | [✓] | 栈 树 深度优先搜索 | 🟢 | 🀄️ 🔗 |
| 144 | 二叉树的前序遍历 | [✓] | 栈 树 深度优先搜索 1+ | 🟢 | 🀄️ 🔗 |
| 590 | N 叉树的后序遍历 | [✓] | 栈 树 深度优先搜索 | 🟢 | 🀄️ 🔗 |
| 102 | 二叉树的层序遍历 | [✓] | 树 广度优先搜索 二叉树 | 🟠 | 🀄️ 🔗 |
| 103 | 二叉树的锯齿形层序遍历 | [✓] | 树 广度优先搜索 二叉树 | 🟠 | 🀄️ 🔗 |
| 107 | 二叉树的层序遍历 II | [✓] | 树 广度优先搜索 二叉树 | 🟠 | 🀄️ 🔗 |
- 构造
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 108 | 将有序数组转换为二叉搜索树 | [✓] | 树 二叉搜索树 数组 2+ | 🟢 | 🀄️ 🔗 |
| 105 | 从前序与中序遍历序列构造二叉树 | [✓] | 树 数组 哈希表 2+ | 🟠 | 🀄️ 🔗 |
| 106 | 从中序与后序遍历序列构造二叉树 | [✓] | 树 数组 哈希表 2+ | 🟠 | 🀄️ 🔗 |
| 114 | 二叉树展开为链表 | [✓] | 栈 树 深度优先搜索 2+ | 🟠 | 🀄️ 🔗 |
| 889 | 根据前序和后序遍历构造二叉树 | [✓] | 树 数组 哈希表 2+ | 🟠 | 🀄️ 🔗 |
| 1008 | 前序遍历构造二叉搜索树 | [✓] | 栈 树 二叉搜索树 3+ | 🟠 | 🀄️ 🔗 |
| 297 | 二叉树的序列化与反序列化 | [✓] | 树 深度优先搜索 广度优先搜索 3+ | 🔴 | 🀄️ 🔗 |
- 路径 | 深度 | 翻转
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 104 | 二叉树的最大深度 | [✓] | 树 深度优先搜索 广度优先搜索 1+ | 🟢 | 🀄️ 🔗 |
| 101 | 对称二叉树 | [✓] | 树 深度优先搜索 广度优先搜索 1+ | 🟢 | 🀄️ 🔗 |
| 226 | 翻转二叉树 | [✓] | 树 深度优先搜索 广度优先搜索 1+ | 🟢 | 🀄️ 🔗 |
| 543 | 二叉树的直径 | [✓] | 树 深度优先搜索 二叉树 | 🟢 | 🀄️ 🔗 |
| 257 | 二叉树的所有路径 | [✓] | 树 深度优先搜索 字符串 2+ | 🟢 | 🀄️ 🔗 |
| 110 | 平衡二叉树 | [✓] | 树 深度优先搜索 二叉树 | 🟢 | 🀄️ 🔗 |
| 617 | 合并二叉树 | [✓] | 树 深度优先搜索 广度优先搜索 1+ | 🟢 | 🀄️ 🔗 |
| 100 | 相同的树 | [✓] | 树 深度优先搜索 广度优先搜索 1+ | 🟢 | 🀄️ 🔗 |
| 112 | 路径总和 | [✓] | 树 深度优先搜索 广度优先搜索 1+ | 🟢 | 🀄️ 🔗 |
| 111 | 二叉树的最小深度 | [✓] | 树 深度优先搜索 广度优先搜索 1+ | 🟢 | 🀄️ 🔗 |
| 236 | 二叉树的最近公共祖先 | [✓] | 树 深度优先搜索 二叉树 | 🟠 | 🀄️ 🔗 |
| 222 | 完全二叉树的节点个数 | [✓] | 位运算 树 二分查找 1+ | 🟢 | 🀄️ 🔗 |
| 113 | 路径总和 II | [✓] | 树 深度优先搜索 回溯 1+ | 🟠 | 🀄️ 🔗 |
| 437 | 路径总和 III | [✓] | 树 深度优先搜索 二叉树 | 🟠 | 🀄️ 🔗 |
| 129 | 求根节点到叶节点数字之和 | [✓] | 树 深度优先搜索 二叉树 | 🟠 | 🀄️ 🔗 |
| 662 | 二叉树最大宽度 | [✓] | 树 深度优先搜索 广度优先搜索 1+ | 🟠 | 🀄️ 🔗 |
| 114 | 二叉树展开为链表 | [✓] | 栈 树 深度优先搜索 2+ | 🟠 | 🀄️ 🔗 |
| 199 | 二叉树的右视图 | [✓] | 树 深度优先搜索 广度优先搜索 1+ | 🟠 | 🀄️ 🔗 |
| 116 | 填充每个节点的下一个右侧节点指针 | [✓] | 树 深度优先搜索 广度优先搜索 2+ | 🟠 | 🀄️ 🔗 |
| 515 | 在每个树行中找最大值 | [✓] | 树 深度优先搜索 广度优先搜索 1+ | 🟠 | 🀄️ 🔗 |
| 124 | 二叉树中的最大路径和 | [✓] | 树 深度优先搜索 动态规划 1+ | 🔴 | 🀄️ 🔗 |
| 297 | 二叉树的序列化与反序列化 | [✓] | 树 深度优先搜索 广度优先搜索 3+ | 🔴 | 🀄️ 🔗 |
- 二叉搜索树
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 108 | 将有序数组转换为二叉搜索树 | [✓] | 树 二叉搜索树 数组 2+ | 🟢 | 🀄️ 🔗 |
| 98 | 验证二叉搜索树 | [✓] | 树 深度优先搜索 二叉搜索树 1+ | 🟠 | 🀄️ 🔗 |
| 96 | 不同的二叉搜索树 | [✓] | 树 二叉搜索树 数学 2+ | 🟠 | 🀄️ 🔗 |
| 95 | 不同的二叉搜索树 II | [✓] | 树 二叉搜索树 动态规划 2+ | 🟠 | 🀄️ 🔗 |
| 173 | 二叉搜索树迭代器 | [✓] | 栈 树 设计 3+ | 🟠 | 🀄️ 🔗 |
| 230 | 二叉搜索树中第 K 小的元素 | [✓] | 树 深度优先搜索 二叉搜索树 1+ | 🟠 | 🀄️ 🔗 |
| 99 | 恢复二叉搜索树 | [✓] | 树 深度优先搜索 二叉搜索树 1+ | 🟠 | 🀄️ 🔗 |
- 字典树
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 720 | 词典中最长的单词 | 字典树 数组 哈希表 2+ | 🟠 | 🀄️ 🔗 | |
| 208 | 实现 Trie (前缀树) | [✓] | 设计 字典树 哈希表 1+ | 🟠 | 🀄️ 🔗 |
| 692 | 前K个高频单词 | 字典树 哈希表 字符串 4+ | 🟠 | 🀄️ 🔗 | |
| 421 | 数组中两个数的最大异或值 | [✓] | 位运算 字典树 数组 1+ | 🟠 | 🀄️ 🔗 |
| 212 | 单词搜索 II | [✓] | 字典树 数组 字符串 2+ | 🔴 | 🀄️ 🔗 |
- 线段树
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 1353 | 最多可以参加的会议数目 | 贪心 数组 排序 1+ | 🟠 | 🀄️ 🔗 | |
| 307 | 区域和检索 - 数组可修改 | [✓] | 设计 树状数组 线段树 1+ | 🟠 | 🀄️ 🔗 |
| 315 | 计算右侧小于当前元素的个数 | 树状数组 线段树 数组 4+ | 🔴 | 🀄️ 🔗 | |
| 493 | 翻转对 | 树状数组 线段树 数组 4+ | 🔴 | 🀄️ 🔗 | |
| 218 | 天际线问题 | 树状数组 线段树 数组 4+ | 🔴 | 🀄️ 🔗 | |
| 715 | Range 模块 | 设计 线段树 有序集合 | 🔴 | 🀄️ 🔗 | |
| 850 | 矩形面积 II | 线段树 数组 有序集合 1+ | 🔴 | 🀄️ 🔗 | |
| 1157 | 子数组中占绝大多数的元素 | 设计 树状数组 线段树 2+ | 🔴 | 🀄️ 🔗 | |
| 699 | 掉落的方块 | 线段树 数组 有序集合 | 🔴 | 🀄️ 🔗 | |
| 327 | 区间和的个数 | 树状数组 线段树 数组 4+ | 🔴 | 🀄️ 🔗 |
栈
- 基础
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 20 | 有效的括号 | [✓] | 栈 字符串 | 🟢 | 🀄️ 🔗 |
| 1047 | 删除字符串中的所有相邻重复项 | [✓] | 栈 字符串 | 🟢 | 🀄️ 🔗 |
| 232 | 用栈实现队列 | [✓] | 栈 设计 队列 | 🟢 | 🀄️ 🔗 |
| 155 | 最小栈 | [✓] | 栈 设计 | 🟠 | 🀄️ 🔗 |
| 225 | 用队列实现栈 | [✓] | 栈 设计 队列 | 🟢 | 🀄️ 🔗 |
| 1021 | 删除最外层的括号 | [✓] | 栈 字符串 | 🟢 | 🀄️ 🔗 |
| 682 | 棒球比赛 | [✓] | 栈 数组 模拟 | 🟢 | 🀄️ 🔗 |
| 844 | 比较含退格的字符串 | [✓] | 栈 双指针 字符串 1+ | 🟢 | 🀄️ 🔗 |
| 1190 | 反转每对括号间的子串 | [✓] | 栈 字符串 | 🟠 | 🀄️ 🔗 |
| 394 | 字符串解码 | [✓] | 栈 递归 字符串 | 🟠 | 🀄️ 🔗 |
| 456 | 132 模式 | [✓] | 栈 数组 二分查找 2+ | 🟠 | 🀄️ 🔗 |
| 227 | 基本计算器 II | [✓] | 栈 数学 字符串 | 🟠 | 🀄️ 🔗 |
| 150 | 逆波兰表达式求值 | [✓] | 栈 数组 数学 | 🟠 | 🀄️ 🔗 |
| 503 | 下一个更大元素 II | [✓] | 栈 数组 单调栈 | 🟠 | 🀄️ 🔗 |
| 71 | 简化路径 | [✓] | 栈 字符串 | 🟠 | 🀄️ 🔗 |
| 856 | 括号的分数 | 栈 字符串 | 🟠 | 🀄️ 🔗 | |
| 907 | 子数组的最小值之和 | 栈 数组 动态规划 1+ | 🟠 | 🀄️ 🔗 | |
| 385 | 迷你语法分析器 | [✓] | 栈 深度优先搜索 字符串 | 🟠 | 🀄️ 🔗 |
| 1249 | 移除无效的括号 | 栈 字符串 | 🟠 | 🀄️ 🔗 | |
| 636 | 函数的独占时间 | 栈 数组 | 🟠 | 🀄️ 🔗 | |
| 341 | 扁平化嵌套列表迭代器 | [✓] | 栈 树 深度优先搜索 3+ | 🟠 | 🀄️ 🔗 |
| 224 | 基本计算器 | [✓] | 栈 递归 数学 1+ | 🔴 | 🀄️ 🔗 |
| 726 | 原子的数量 | 栈 哈希表 字符串 1+ | 🔴 | 🀄️ 🔗 |
- 单调栈
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 496 | 下一个更大元素 I | [✓] | 栈 数组 哈希表 1+ | 🟢 | 🀄️ 🔗 |
| 739 | 每日温度 | [✓] | 栈 数组 单调栈 | 🟠 | 🀄️ 🔗 |
| 402 | 移掉 K 位数字 | [✓] | 栈 贪心 字符串 1+ | 🟠 | 🀄️ 🔗 |
| 316 | 去除重复字母 | [✓] | 栈 贪心 字符串 1+ | 🟠 | 🀄️ 🔗 |
| 1124 | 表现良好的最长时间段 | 栈 数组 哈希表 2+ | 🟠 | 🀄️ 🔗 | |
| 42 | 接雨水 | [✓] | 栈 数组 双指针 2+ | 🔴 | 🀄️ 🔗 |
| 84 | 柱状图中最大的矩形 | [✓] | 栈 数组 单调栈 | 🔴 | 🀄️ 🔗 |
| 85 | 最大矩形 | [✓] | 栈 数组 动态规划 2+ | 🔴 | 🀄️ 🔗 |
| 321 | 拼接最大数 | 栈 贪心 数组 2+ | 🔴 | 🀄️ 🔗 |
堆
- 基础
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 1046 | 最后一块石头的重量 | [✓] | 数组 堆(优先队列) | 🟢 | 🀄️ 🔗 |
| 703 | 数据流中的第 K 大元素 | [✓] | 树 设计 二叉搜索树 3+ | 🟢 | 🀄️ 🔗 |
| 215 | 数组中的第K个最大元素 | [✓] | 数组 分治 快速选择 2+ | 🟠 | 🀄️ 🔗 |
| 347 | 前 K 个高频元素 | [✓] | 数组 哈希表 分治 5+ | 🟠 | 🀄️ 🔗 |
| 692 | 前K个高频单词 | 字典树 哈希表 字符串 4+ | 🟠 | 🀄️ 🔗 | |
| 378 | 有序矩阵中第 K 小的元素 | [✓] | 数组 二分查找 矩阵 2+ | 🟠 | 🀄️ 🔗 |
| 451 | 根据字符出现频率排序 | [✓] | 哈希表 字符串 桶排序 3+ | 🟠 | 🀄️ 🔗 |
| 743 | 网络延迟时间 | 深度优先搜索 广度优先搜索 图 2+ | 🟠 | 🀄️ 🔗 | |
| 787 | K 站中转内最便宜的航班 | 深度优先搜索 广度优先搜索 图 3+ | 🟠 | 🀄️ 🔗 | |
| 973 | 最接近原点的 K 个点 | [✓] | 几何 数组 数学 4+ | 🟠 | 🀄️ 🔗 |
| 239 | 滑动窗口最大值 | [✓] | 队列 数组 滑动窗口 2+ | 🔴 | 🀄️ 🔗 |
| 295 | 数据流的中位数 | [✓] | 设计 双指针 数据流 2+ | 🔴 | 🀄️ 🔗 |
| 218 | 天际线问题 | 树状数组 线段树 数组 4+ | 🔴 | 🀄️ 🔗 |
二分查找
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 69 | x 的平方根 | [✓] | 数学 二分查找 | 🟢 | 🀄️ 🔗 |
| 704 | 二分查找 | [✓] | 数组 二分查找 | 🟢 | 🀄️ 🔗 |
| 35 | 搜索插入位置 | [✓] | 数组 二分查找 | 🟢 | 🀄️ 🔗 |
| 349 | 两个数组的交集 | [✓] | 数组 哈希表 双指针 2+ | 🟢 | 🀄️ 🔗 |
| 167 | 两数之和 II - 输入有序数组 | [✓] | 数组 双指针 二分查找 | 🟠 | 🀄️ 🔗 |
| 278 | 第一个错误的版本 | [✓] | 二分查找 交互 | 🟢 | 🀄️ 🔗 |
| 300 | 最长递增子序列 | [✓] | 数组 二分查找 动态规划 | 🟠 | 🀄️ 🔗 |
| 74 | 搜索二维矩阵 | [✓] | 数组 二分查找 矩阵 | 🟠 | 🀄️ 🔗 |
| 34 | 在排序数组中查找元素的第一个和最后一个位置 | [✓] | 数组 二分查找 | 🟠 | 🀄️ 🔗 |
| 81 | 搜索旋转排序数组 II | [✓] | 数组 二分查找 | 🟠 | 🀄️ 🔗 |
| 33 | 搜索旋转排序数组 | [✓] | 数组 二分查找 | 🟠 | 🀄️ 🔗 |
| 454 | 四数相加 II | [✓] | 数组 哈希表 | 🟠 | 🀄️ 🔗 |
| 240 | 搜索二维矩阵 II | [✓] | 数组 二分查找 分治 1+ | 🟠 | 🀄️ 🔗 |
| 718 | 最长重复子数组 | 数组 二分查找 动态规划 3+ | 🟠 | 🀄️ 🔗 | |
| 50 | Pow(x, n) | [✓] | 递归 数学 | 🟠 | 🀄️ 🔗 |
| 29 | 两数相除 | [✓] | 位运算 数学 | 🟠 | 🀄️ 🔗 |
| 287 | 寻找重复数 | [✓] | 位运算 数组 双指针 1+ | 🟠 | 🀄️ 🔗 |
| 209 | 长度最小的子数组 | [✓] | 数组 二分查找 前缀和 1+ | 🟠 | 🀄️ 🔗 |
| 153 | 寻找旋转排序数组中的最小值 | [✓] | 数组 二分查找 | 🟠 | 🀄️ 🔗 |
| 162 | 寻找峰值 | [✓] | 数组 二分查找 | 🟠 | 🀄️ 🔗 |
| 378 | 有序矩阵中第 K 小的元素 | [✓] | 数组 二分查找 矩阵 2+ | 🟠 | 🀄️ 🔗 |
| 230 | 二叉搜索树中第 K 小的元素 | [✓] | 树 深度优先搜索 二叉搜索树 1+ | 🟠 | 🀄️ 🔗 |
| 4 | 寻找两个正序数组的中位数 | [✓] | 数组 二分查找 分治 | 🔴 | 🀄️ 🔗 |
| 887 | 鸡蛋掉落 | 数学 二分查找 动态规划 | 🔴 | 🀄️ 🔗 | |
| 410 | 分割数组的最大值 | 贪心 数组 二分查找 2+ | 🔴 | 🀄️ 🔗 | |
| 154 | 寻找旋转排序数组中的最小值 II | [✓] | 数组 二分查找 | 🔴 | 🀄️ 🔗 |
位运算
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 136 | 只出现一次的数字 | [✓] | 位运算 数组 | 🟢 | 🀄️ 🔗 |
| 191 | 位1的个数 | [✓] | 位运算 分治 | 🟢 | 🀄️ 🔗 |
| 169 | 多数元素 | [✓] | 数组 哈希表 分治 2+ | 🟢 | 🀄️ 🔗 |
| 190 | 颠倒二进制位 | [✓] | 位运算 分治 | 🟢 | 🀄️ 🔗 |
| 231 | 2 的幂 | [✓] | 位运算 递归 数学 | 🟢 | 🀄️ 🔗 |
| 389 | 找不同 | [✓] | 位运算 哈希表 字符串 1+ | 🟢 | 🀄️ 🔗 |
| 461 | 汉明距离 | [✓] | 位运算 | 🟢 | 🀄️ 🔗 |
| 405 | 数字转换为十六进制数 | [✓] | 位运算 数学 | 🟢 | 🀄️ 🔗 |
| 268 | 丢失的数字 | [✓] | 位运算 数组 哈希表 3+ | 🟢 | 🀄️ 🔗 |
| 78 | 子集 | [✓] | 位运算 数组 回溯 | 🟠 | 🀄️ 🔗 |
| 338 | 比特位计数 | [✓] | 位运算 动态规划 | 🟢 | 🀄️ 🔗 |
| 1318 | 或运算的最小翻转次数 | [✓] | 位运算 | 🟠 | 🀄️ 🔗 |
| 89 | 格雷编码 | [✓] | 位运算 数学 回溯 | 🟠 | 🀄️ 🔗 |
| 260 | 只出现一次的数字 III | [✓] | 位运算 数组 | 🟠 | 🀄️ 🔗 |
| 371 | 两整数之和 | [✓] | 位运算 数学 | 🟠 | 🀄️ 🔗 |
| 137 | 只出现一次的数字 II | [✓] | 位运算 数组 | 🟠 | 🀄️ 🔗 |
| 421 | 数组中两个数的最大异或值 | [✓] | 位运算 字典树 数组 1+ | 🟠 | 🀄️ 🔗 |
双指针与滑动窗口
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 387 | 字符串中的第一个唯一字符 | [✓] | 队列 哈希表 字符串 1+ | 🟢 | 🀄️ 🔗 |
| 349 | 两个数组的交集 | [✓] | 数组 哈希表 双指针 2+ | 🟢 | 🀄️ 🔗 |
| 409 | 最长回文串 | [✓] | 贪心 哈希表 字符串 | 🟢 | 🀄️ 🔗 |
| 217 | 存在重复元素 | [✓] | 数组 哈希表 排序 | 🟢 | 🀄️ 🔗 |
| 204 | 计数质数 | [✓] | 数组 数学 枚举 1+ | 🟠 | 🀄️ 🔗 |
| 88 | 合并两个有序数组 | [✓] | 数组 双指针 排序 | 🟢 | 🀄️ 🔗 |
| 283 | 移动零 | [✓] | 数组 双指针 | 🟢 | 🀄️ 🔗 |
| 125 | 验证回文串 | [✓] | 双指针 字符串 | 🟢 | 🀄️ 🔗 |
| 344 | 反转字符串 | [✓] | 双指针 字符串 | 🟢 | 🀄️ 🔗 |
| 27 | 移除元素 | [✓] | 数组 双指针 | 🟢 | 🀄️ 🔗 |
| 977 | 有序数组的平方 | [✓] | 数组 双指针 排序 | 🟢 | 🀄️ 🔗 |
| 3 | 无重复字符的最长子串 | [✓] | 哈希表 字符串 滑动窗口 | 🟠 | 🀄️ 🔗 |
| 781 | 森林中的兔子 | 贪心 数组 哈希表 1+ | 🟠 | 🀄️ 🔗 | |
| 49 | 字母异位词分组 | [✓] | 数组 哈希表 字符串 1+ | 🟠 | 🀄️ 🔗 |
| 18 | 四数之和 | [✓] | 数组 双指针 排序 | 🟠 | 🀄️ 🔗 |
| 560 | 和为 K 的子数组 | [✓] | 数组 哈希表 前缀和 | 🟠 | 🀄️ 🔗 |
| 454 | 四数相加 II | [✓] | 数组 哈希表 | 🟠 | 🀄️ 🔗 |
| 11 | 盛最多水的容器 | [✓] | 贪心 数组 双指针 | 🟠 | 🀄️ 🔗 |
| 16 | 最接近的三数之和 | [✓] | 数组 双指针 排序 | 🟠 | 🀄️ 🔗 |
| 18 | 四数之和 | [✓] | 数组 双指针 排序 | 🟠 | 🀄️ 🔗 |
| 424 | 替换后的最长重复字符 | [✓] | 哈希表 字符串 滑动窗口 | 🟠 | 🀄️ 🔗 |
| 713 | 乘积小于 K 的子数组 | 数组 二分查找 前缀和 1+ | 🟠 | 🀄️ 🔗 | |
| 76 | 最小覆盖子串 | [✓] | 哈希表 字符串 滑动窗口 | 🔴 | 🀄️ 🔗 |
| 992 | K 个不同整数的子数组 | 数组 哈希表 计数 1+ | 🔴 | 🀄️ 🔗 |
矩阵
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 867 | 转置矩阵 | [✓] | 数组 矩阵 模拟 | 🟢 | 🀄️ 🔗 |
| 832 | 翻转图像 | [✓] | 位运算 数组 双指针 2+ | 🟢 | 🀄️ 🔗 |
| 54 | 螺旋矩阵 | [✓] | 数组 矩阵 模拟 | 🟠 | 🀄️ 🔗 |
| 59 | 螺旋矩阵 II | [✓] | 数组 矩阵 模拟 | 🟠 | 🀄️ 🔗 |
| 73 | 矩阵置零 | [✓] | 数组 哈希表 矩阵 | 🟠 | 🀄️ 🔗 |
| 48 | 旋转图像 | [✓] | 数组 数学 矩阵 | 🟠 | 🀄️ 🔗 |
动态规划
- 一维
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 70 | 爬楼梯 | [✓] | 记忆化搜索 数学 动态规划 | 🟢 | 🀄️ 🔗 |
| 53 | 最大子数组和 | [✓] | 数组 分治 动态规划 | 🟠 | 🀄️ 🔗 |
| 121 | 买卖股票的最佳时机 | [✓] | 数组 动态规划 | 🟢 | 🀄️ 🔗 |
| 746 | 使用最小花费爬楼梯 | [✓] | 数组 动态规划 | 🟢 | 🀄️ 🔗 |
| 337 | 打家劫舍 III | [✓] | 树 深度优先搜索 动态规划 1+ | 🟠 | 🀄️ 🔗 |
| 322 | 零钱兑换 | [✓] | 广度优先搜索 数组 动态规划 | 🟠 | 🀄️ 🔗 |
| 300 | 最长递增子序列 | [✓] | 数组 二分查找 动态规划 | 🟠 | 🀄️ 🔗 |
| 139 | 单词拆分 | [✓] | 字典树 记忆化搜索 数组 3+ | 🟠 | 🀄️ 🔗 |
| 152 | 乘积最大子数组 | [✓] | 数组 动态规划 | 🟠 | 🀄️ 🔗 |
| 338 | 比特位计数 | [✓] | 位运算 动态规划 | 🟢 | 🀄️ 🔗 |
| 309 | 买卖股票的最佳时机含冷冻期 | [✓] | 数组 动态规划 | 🟠 | 🀄️ 🔗 |
| 264 | 丑数 II | [✓] | 哈希表 数学 动态规划 1+ | 🟠 | 🀄️ 🔗 |
| 279 | 完全平方数 | [✓] | 广度优先搜索 数学 动态规划 | 🟠 | 🀄️ 🔗 |
| 32 | 最长有效括号 | [✓] | 栈 字符串 动态规划 | 🔴 | 🀄️ 🔗 |
| 354 | 俄罗斯套娃信封问题 | [✓] | 数组 二分查找 动态规划 1+ | 🔴 | 🀄️ 🔗 |
| 123 | 买卖股票的最佳时机 III | [✓] | 数组 动态规划 | 🔴 | 🀄️ 🔗 |
- 二维
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 5 | 最长回文子串 | [✓] | 双指针 字符串 动态规划 | 🟠 | 🀄️ 🔗 |
| 1143 | 最长公共子序列 | [✓] | 字符串 动态规划 | 🟠 | 🀄️ 🔗 |
| 131 | 分割回文串 | [✓] | 字符串 动态规划 回溯 | 🟠 | 🀄️ 🔗 |
| 62 | 不同路径 | [✓] | 数学 动态规划 组合数学 | 🟠 | 🀄️ 🔗 |
| 64 | 最小路径和 | [✓] | 数组 动态规划 矩阵 | 🟠 | 🀄️ 🔗 |
| 221 | 最大正方形 | [✓] | 数组 动态规划 矩阵 | 🟠 | 🀄️ 🔗 |
| 416 | 分割等和子集 | [✓] | 数组 动态规划 | 🟠 | 🀄️ 🔗 |
| 718 | 最长重复子数组 | 数组 二分查找 动态规划 3+ | 🟠 | 🀄️ 🔗 | |
| 494 | 目标和 | [✓] | 数组 动态规划 回溯 | 🟠 | 🀄️ 🔗 |
| 10 | 正则表达式匹配 | [✓] | 递归 字符串 动态规划 | 🔴 | 🀄️ 🔗 |
| 72 | 编辑距离 | [✓] | 字符串 动态规划 | 🟠 | 🀄️ 🔗 |
| 887 | 鸡蛋掉落 | 数学 二分查找 动态规划 | 🔴 | 🀄️ 🔗 | |
| 132 | 分割回文串 II | [✓] | 字符串 动态规划 | 🔴 | 🀄️ 🔗 |
| 44 | 通配符匹配 | [✓] | 贪心 递归 字符串 1+ | 🔴 | 🀄️ 🔗 |
| 410 | 分割数组的最大值 | 贪心 数组 二分查找 2+ | 🔴 | 🀄️ 🔗 |
图论
- DFS
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 394 | 字符串解码 | [✓] | 栈 递归 字符串 | 🟠 | 🀄️ 🔗 |
| 721 | 账户合并 | 深度优先搜索 广度优先搜索 并查集 4+ | 🟠 | 🀄️ 🔗 | |
| 547 | 省份数量 | [✓] | 深度优先搜索 广度优先搜索 并查集 1+ | 🟠 | 🀄️ 🔗 |
| 494 | 目标和 | [✓] | 数组 动态规划 回溯 | 🟠 | 🀄️ 🔗 |
| 695 | 岛屿的最大面积 | [✓] | 深度优先搜索 广度优先搜索 并查集 2+ | 🟠 | 🀄️ 🔗 |
| 130 | 被围绕的区域 | [✓] | 深度优先搜索 广度优先搜索 并查集 2+ | 🟠 | 🀄️ 🔗 |
| 1631 | 最小体力消耗路径 | 深度优先搜索 广度优先搜索 并查集 4+ | 🟠 | 🀄️ 🔗 | |
| 207 | 课程表 | [✓] | 深度优先搜索 广度优先搜索 图 1+ | 🟠 | 🀄️ 🔗 |
| 417 | 太平洋大西洋水流问题 | [✓] | 深度优先搜索 广度优先搜索 数组 1+ | 🟠 | 🀄️ 🔗 |
| 679 | 24 点游戏 | 数组 数学 回溯 | 🔴 | 🀄️ 🔗 |
- BFS
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 690 | 员工的重要性 | 树 深度优先搜索 广度优先搜索 2+ | 🟠 | 🀄️ 🔗 | |
| 279 | 完全平方数 | [✓] | 广度优先搜索 数学 动态规划 | 🟠 | 🀄️ 🔗 |
| 130 | 被围绕的区域 | [✓] | 深度优先搜索 广度优先搜索 并查集 2+ | 🟠 | 🀄️ 🔗 |
| 1319 | 连通网络的操作次数 | 深度优先搜索 广度优先搜索 并查集 1+ | 🟠 | 🀄️ 🔗 | |
| 934 | 最短的桥 | 深度优先搜索 广度优先搜索 数组 1+ | 🟠 | 🀄️ 🔗 | |
| 785 | 判断二分图 | 深度优先搜索 广度优先搜索 并查集 1+ | 🟠 | 🀄️ 🔗 | |
| 994 | 腐烂的橘子 | [✓] | 广度优先搜索 数组 矩阵 | 🟠 | 🀄️ 🔗 |
| 752 | 打开转盘锁 | 广度优先搜索 数组 哈希表 1+ | 🟠 | 🀄️ 🔗 | |
| 1162 | 地图分析 | 广度优先搜索 数组 动态规划 1+ | 🟠 | 🀄️ 🔗 | |
| 529 | 扫雷游戏 | 深度优先搜索 广度优先搜索 数组 1+ | 🟠 | 🀄️ 🔗 | |
| 815 | 公交路线 | 广度优先搜索 数组 哈希表 | 🔴 | 🀄️ 🔗 | |
| 127 | 单词接龙 | [✓] | 广度优先搜索 哈希表 字符串 | 🔴 | 🀄️ 🔗 |
| 1293 | 网格中的最短路径 | 广度优先搜索 数组 矩阵 | 🔴 | 🀄️ 🔗 | |
| 773 | 滑动谜题 | [✓] | 广度优先搜索 数组 矩阵 | 🔴 | 🀄️ 🔗 |
| 827 | 最大人工岛 | [✓] | 深度优先搜索 广度优先搜索 并查集 2+ | 🔴 | 🀄️ 🔗 |
| 787 | K 站中转内最便宜的航班 | 深度优先搜索 广度优先搜索 图 3+ | 🟠 | 🀄️ 🔗 |
- 拓扑排序
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 207 | 课程表 | [✓] | 深度优先搜索 广度优先搜索 图 1+ | 🟠 | 🀄️ 🔗 |
| 210 | 课程表 II | [✓] | 深度优先搜索 广度优先搜索 图 1+ | 🟠 | 🀄️ 🔗 |
| 329 | 矩阵中的最长递增路径 | [✓] | 深度优先搜索 广度优先搜索 图 5+ | 🔴 | 🀄️ 🔗 |
| 1203 | 项目管理 | 深度优先搜索 广度优先搜索 图 1+ | 🔴 | 🀄️ 🔗 |
并查集
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 200 | 岛屿数量 | [✓] | 深度优先搜索 广度优先搜索 并查集 2+ | 🟠 | 🀄️ 🔗 |
| 721 | 账户合并 | 深度优先搜索 广度优先搜索 并查集 4+ | 🟠 | 🀄️ 🔗 | |
| 547 | 省份数量 | [✓] | 深度优先搜索 广度优先搜索 并查集 1+ | 🟠 | 🀄️ 🔗 |
| 130 | 被围绕的区域 | [✓] | 深度优先搜索 广度优先搜索 并查集 2+ | 🟠 | 🀄️ 🔗 |
| 1631 | 最小体力消耗路径 | 深度优先搜索 广度优先搜索 并查集 4+ | 🟠 | 🀄️ 🔗 | |
| 399 | 除法求值 | [✓] | 深度优先搜索 广度优先搜索 并查集 4+ | 🟠 | 🀄️ 🔗 |
| 1319 | 连通网络的操作次数 | 深度优先搜索 广度优先搜索 并查集 1+ | 🟠 | 🀄️ 🔗 | |
| 684 | 冗余连接 | [✓] | 深度优先搜索 广度优先搜索 并查集 1+ | 🟠 | 🀄️ 🔗 |
| 128 | 最长连续序列 | [✓] | 并查集 数组 哈希表 | 🟠 | 🀄️ 🔗 |
| 765 | 情侣牵手 | 贪心 深度优先搜索 广度优先搜索 2+ | 🔴 | 🀄️ 🔗 |
设计
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 1603 | 设计停车系统 | [✓] | 设计 计数 模拟 | 🟢 | 🀄️ 🔗 |
| 705 | 设计哈希集合 | [✓] | 设计 数组 哈希表 2+ | 🟢 | 🀄️ 🔗 |
| 706 | 设计哈希映射 | [✓] | 设计 数组 哈希表 2+ | 🟢 | 🀄️ 🔗 |
| 703 | 数据流中的第 K 大元素 | [✓] | 树 设计 二叉搜索树 3+ | 🟢 | 🀄️ 🔗 |
| 146 | LRU 缓存 | [✓] | 设计 哈希表 链表 1+ | 🟠 | 🀄️ 🔗 |
| 341 | 扁平化嵌套列表迭代器 | [✓] | 栈 树 深度优先搜索 3+ | 🟠 | 🀄️ 🔗 |
| 208 | 实现 Trie (前缀树) | [✓] | 设计 字典树 哈希表 1+ | 🟠 | 🀄️ 🔗 |
| 173 | 二叉搜索树迭代器 | [✓] | 栈 树 设计 3+ | 🟠 | 🀄️ 🔗 |
| 622 | 设计循环队列 | [✓] | 设计 队列 数组 1+ | 🟠 | 🀄️ 🔗 |
| 380 | O(1) 时间插入、删除和获取随机元素 | [✓] | 设计 数组 哈希表 2+ | 🟠 | 🀄️ 🔗 |
| 295 | 数据流的中位数 | [✓] | 设计 双指针 数据流 2+ | 🔴 | 🀄️ 🔗 |
| 460 | LFU 缓存 | [✓] | 设计 哈希表 链表 1+ | 🔴 | 🀄️ 🔗 |
贪心
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 264 | 丑数 II | [✓] | 哈希表 数学 动态规划 1+ | 🟠 | 🀄️ 🔗 |
| 946 | 验证栈序列 | [✓] | 栈 数组 模拟 | 🟠 | 🀄️ 🔗 |
| 767 | 重构字符串 | 贪心 哈希表 字符串 3+ | 🟠 | 🀄️ 🔗 | |
| 373 | 查找和最小的 K 对数字 | [✓] | 数组 堆(优先队列) | 🟠 | 🀄️ 🔗 |
| 313 | 超级丑数 | [✓] | 数组 数学 动态规划 | 🟠 | 🀄️ 🔗 |
回溯
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 46 | 全排列 | [✓] | 数组 回溯 | 🟠 | 🀄️ 🔗 |
| 22 | 括号生成 | [✓] | 字符串 动态规划 回溯 | 🟠 | 🀄️ 🔗 |
| 93 | 复原 IP 地址 | [✓] | 字符串 回溯 | 🟠 | 🀄️ 🔗 |
| 78 | 子集 | [✓] | 位运算 数组 回溯 | 🟠 | 🀄️ 🔗 |
| 17 | 电话号码的字母组合 | [✓] | 哈希表 字符串 回溯 | 🟠 | 🀄️ 🔗 |
| 79 | 单词搜索 | [✓] | 数组 字符串 回溯 1+ | 🟠 | 🀄️ 🔗 |
| 90 | 子集 II | [✓] | 位运算 数组 回溯 | 🟠 | 🀄️ 🔗 |
| 39 | 组合总和 | [✓] | 数组 回溯 | 🟠 | 🀄️ 🔗 |
| 77 | 组合 | [✓] | 回溯 | 🟠 | 🀄️ 🔗 |
| 40 | 组合总和 II | [✓] | 数组 回溯 | 🟠 | 🀄️ 🔗 |
| 47 | 全排列 II | [✓] | 数组 回溯 | 🟠 | 🀄️ 🔗 |
| 842 | 将数组拆分成斐波那契序列 | 字符串 回溯 | 🟠 | 🀄️ 🔗 | |
| 216 | 组合总和 III | [✓] | 数组 回溯 | 🟠 | 🀄️ 🔗 |
| 89 | 格雷编码 | [✓] | 位运算 数学 回溯 | 🟠 | 🀄️ 🔗 |
| 51 | N 皇后 | [✓] | 数组 回溯 | 🔴 | 🀄️ 🔗 |
| 37 | 解数独 | [✓] | 数组 哈希表 回溯 1+ | 🔴 | 🀄️ 🔗 |
| 126 | 单词接龙 II | 广度优先搜索 哈希表 字符串 1+ | 🔴 | 🀄️ 🔗 | |
| 1659 | 最大化网格幸福感 | 位运算 记忆化搜索 动态规划 1+ | 🔴 | 🀄️ 🔗 |
克隆
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 133 | 克隆图 | [✓] | 深度优先搜索 广度优先搜索 图 1+ | 🟠 | 🀄️ 🔗 |
| 138 | 随机链表的复制 | [✓] | 哈希表 链表 | 🟠 | 🀄️ 🔗 |
数学
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 204 | 计数质数 | [✓] | 数组 数学 枚举 1+ | 🟠 | 🀄️ 🔗 |
| 628 | 三个数的最大乘积 | [✓] | 数组 数学 排序 | 🟢 | 🀄️ 🔗 |
| 976 | 三角形的最大周长 | [✓] | 贪心 数组 数学 1+ | 🟢 | 🀄️ 🔗 |
| 202 | 快乐数 | [✓] | 哈希表 数学 双指针 | 🟢 | 🀄️ 🔗 |
| 1232 | 缀点成线 | [✓] | 几何 数组 数学 | 🟢 | 🀄️ 🔗 |
| 29 | 两数相除 | [✓] | 位运算 数学 | 🟠 | 🀄️ 🔗 |
| 343 | 整数拆分 | [✓] | 数学 动态规划 | 🟠 | 🀄️ 🔗 |
| 166 | 分数到小数 | [✓] | 哈希表 数学 字符串 | 🟠 | 🀄️ 🔗 |
| 149 | 直线上最多的点数 | [✓] | 几何 数组 哈希表 1+ | 🔴 | 🀄️ 🔗 |
极大极小化
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 292 | Nim 游戏 | [✓] | 脑筋急转弯 数学 博弈 | 🟢 | 🀄️ 🔗 |
| 375 | 猜数字大小 II | [✓] | 数学 动态规划 博弈 | 🟠 | 🀄️ 🔗 |
| 486 | 预测赢家 | [✓] | 递归 数组 数学 2+ | 🟠 | 🀄️ 🔗 |
| 464 | 我能赢吗 | [✓] | 位运算 记忆化搜索 数学 3+ | 🟠 | 🀄️ 🔗 |
| 877 | 石子游戏 | 数组 数学 动态规划 1+ | 🟠 | 🀄️ 🔗 |
几何
| 题号 | 标题 | 题解 | 标签 | 难度 | 力扣 |
|---|---|---|---|---|---|
| 1232 | 缀点成线 | [✓] | 几何 数组 数学 | 🟢 | 🀄️ 🔗 |
| 1266 | 访问所有点的最小时间 | [✓] | 几何 数组 数学 | 🟢 | 🀄️ 🔗 |
| 892 | 三维形体的表面积 | [✓] | 几何 数组 数学 1+ | 🟢 | 🀄️ 🔗 |
| 1401 | 圆和矩形是否有重叠 | 几何 数学 | 🟠 | 🀄️ 🔗 | |
| 963 | 最小面积矩形 II | 几何 数组 数学 | 🟠 | 🀄️ 🔗 | |
| 587 | 安装栅栏 | 几何 数组 数学 | 🔴 | 🀄️ 🔗 | |
| 1515 | 服务中心的最佳位置 | 几何 数组 数学 1+ | 🔴 | 🀄️ 🔗 |
相关信息
数据来源: Leetcode-retag
