Skip to content

Latest commit

 

History

History
593 lines (394 loc) · 63.3 KB

top_200_list.md

File metadata and controls

593 lines (394 loc) · 63.3 KB
title headerDepth
面试高频 200 题
0

数组

题号 标题 题解 标签 难度 力扣 频次
189 轮转数组 [✓] 数组 数学 双指针 🟠 🀄️ 🔗 26
498 对角线遍历 [✓] 数组 矩阵 模拟 🟠 🀄️ 🔗 43
48 旋转图像 [✓] 数组 数学 矩阵 🟠 🀄️ 🔗 70
54 螺旋矩阵 [✓] 数组 矩阵 模拟 🟠 🀄️ 🔗 186
59 螺旋矩阵 II [✓] 数组 矩阵 模拟 🟠 🀄️ 🔗 36

链表

题号 标题 题解 标签 难度 力扣 频次
83 删除排序链表中的重复元素 [✓] 链表 🟢 🀄️ 🔗 54
82 删除排序链表中的重复元素 II [✓] 链表 双指针 🟠 🀄️ 🔗 117
206 反转链表 [✓] 递归 链表 🟢 🀄️ 🔗 575
92 反转链表 II [✓] 链表 🟠 🀄️ 🔗 184
25 K 个一组翻转链表 [✓] 递归 链表 🔴 🀄️ 🔗 332
328 奇偶链表 [✓] 链表 🟠 🀄️ 🔗 28
234 回文链表 [✓] 递归 链表 1+ 🟢 🀄️ 🔗 65
138 随机链表的复制 [✓] 哈希表 链表 🟠 🀄️ 🔗 47
61 旋转链表 [✓] 链表 双指针 🟠 🀄️ 🔗 38

  • 栈基础
题号 标题 题解 标签 难度 力扣 频次
1047 删除字符串中的所有相邻重复项 [✓] 字符串 🟢 🀄️ 🔗 21
155 最小栈 [✓] 设计 🟠 🀄️ 🔗 84
20 有效的括号 [✓] 字符串 🟢 🀄️ 🔗 207
224 基本计算器 [✓] 递归 数学 1+ 🔴 🀄️ 🔗 43
227 基本计算器 II [✓] 数学 字符串 🟠 🀄️ 🔗 54
232 用栈实现队列 [✓] 设计 队列 🟢 🀄️ 🔗 120
剑指 Offer 9 用两个栈实现队列 [✓] 设计 队列 🟢 🀄️ 44
394 字符串解码 [✓] 递归 字符串 🟠 🀄️ 🔗 66
71 简化路径 [✓] 字符串 🟠 🀄️ 🔗 21
  • 单调栈
题号 标题 题解 标签 难度 力扣 频次
739 每日温度 [✓] 数组 单调栈 🟠 🀄️ 🔗 46
503 下一个更大元素 II [✓] 数组 单调栈 🟠 🀄️ 🔗 16
42 接雨水 [✓] 数组 双指针 2+ 🔴 🀄️ 🔗 147
85 最大矩形 [✓] 数组 动态规划 2+ 🔴 🀄️ 🔗 21

队列

  • 队列基础
题号 标题 题解 标签 难度 力扣 频次
225 用队列实现栈 [✓] 设计 队列 🟢 🀄️ 🔗 29
  • 优先队列
题号 标题 题解 标签 难度 力扣 频次
295 数据流的中位数 [✓] 设计 双指针 数据流 2+ 🔴 🀄️ 🔗 26
23 合并 K 个升序链表 [✓] 链表 分治 堆(优先队列) 1+ 🔴 🀄️ 🔗 173

哈希表

题号 标题 题解 标签 难度 力扣 频次
15 三数之和 [✓] 数组 双指针 排序 🟠 🀄️ 🔗 310
41 缺失的第一个正数 [✓] 数组 哈希表 🔴 🀄️ 🔗 97
128 最长连续序列 [✓] 并查集 数组 哈希表 🟠 🀄️ 🔗 56
242 有效的字母异位词 [✓] 哈希表 字符串 排序 🟢 🀄️ 🔗 17
442 数组中重复的数据 [✓] 数组 哈希表 🟠 🀄️ 🔗 19
剑指 Offer 61 扑克牌中的顺子 [✓] 数组 排序 🟢 🀄️ 21
剑指 Offer 3 数组中重复的数字 [✓] 数组 哈希表 排序 🟢 🀄️ 16

字符串

  • 字符串基础
题号 标题 题解 标签 难度 力扣 频次
125 验证回文串 [✓] 双指针 字符串 🟢 🀄️ 🔗 29
5 最长回文子串 [✓] 双指针 字符串 动态规划 🟠 🀄️ 🔗 222
344 反转字符串 [✓] 双指针 字符串 🟢 🀄️ 🔗 17
557 反转字符串中的单词 III [✓] 双指针 字符串 🟢 🀄️ 🔗 17
151 反转字符串中的单词 [✓] 双指针 字符串 🟠 🀄️ 🔗 81
43 字符串相乘 [✓] 数学 字符串 模拟 🟠 🀄️ 🔗 82
  • 单模式串匹配
题号 标题 题解 标签 难度 力扣 频次
459 重复的子字符串 [✓] 字符串 字符串匹配 🟢 🀄️ 🔗 18
  • 字典树
题号 标题 题解 标签 难度 力扣 频次
208 实现 Trie (前缀树) [✓] 设计 字典树 哈希表 1+ 🟠 🀄️ 🔗 27
440 字典序的第K小数字 [✓] 字典树 🔴 🀄️ 🔗 33

  • 二叉树的遍历
题号 标题 题解 标签 难度 力扣 频次
144 二叉树的前序遍历 [✓] 深度优先搜索 1+ 🟢 🀄️ 🔗 78
145 二叉树的后序遍历 [✓] 深度优先搜索 1+ 🟢 🀄️ 🔗 36
102 二叉树的层序遍历 [✓] 广度优先搜索 二叉树 🟠 🀄️ 🔗 220
103 二叉树的锯齿形层序遍历 [✓] 广度优先搜索 二叉树 🟠 🀄️ 🔗 200
101 对称二叉树 [✓] 深度优先搜索 广度优先搜索 1+ 🟢 🀄️ 🔗 76
112 路径总和 [✓] 深度优先搜索 广度优先搜索 1+ 🟢 🀄️ 🔗 65
113 路径总和 II [✓] 深度优先搜索 回溯 1+ 🟠 🀄️ 🔗 69
236 二叉树的最近公共祖先 [✓] 深度优先搜索 二叉树 🟠 🀄️ 🔗 199
199 二叉树的右视图 [✓] 深度优先搜索 广度优先搜索 1+ 🟠 🀄️ 🔗 118
297 二叉树的序列化与反序列化 [✓] 深度优先搜索 广度优先搜索 3+ 🔴 🀄️ 🔗 49
114 二叉树展开为链表 [✓] 深度优先搜索 2+ 🟠 🀄️ 🔗 28
  • 二叉树的还原
题号 标题 题解 标签 难度 力扣 频次
105 从前序与中序遍历序列构造二叉树 [✓] 数组 哈希表 2+ 🟠 🀄️ 🔗 84
106 从中序与后序遍历序列构造二叉树 [✓] 数组 哈希表 2+ 🟠 🀄️ 🔗 25
  • 二叉搜索树
题号 标题 题解 标签 难度 力扣 频次
98 验证二叉搜索树 [✓] 深度优先搜索 二叉搜索树 1+ 🟠 🀄️ 🔗 71
450 删除二叉搜索树中的节点 [✓] 二叉搜索树 二叉树 🟠 🀄️ 🔗 33
剑指 Offer 54 二叉搜索树的第k大节点 [✓] 深度优先搜索 二叉搜索树 1+ 🟢 🀄️ 37
230 二叉搜索树中第 K 小的元素 [✓] 深度优先搜索 二叉搜索树 1+ 🟠 🀄️ 🔗 31
426 将二叉搜索树转化为排序的双向链表 🔒 [✓] 深度优先搜索 4+ 🟠 🀄️ 🔗 16
110 平衡二叉树 [✓] 深度优先搜索 二叉树 🟢 🀄️ 🔗 77

  • 图的深度优先搜索
题号 标题 题解 标签 难度 力扣 频次
200 岛屿数量 [✓] 深度优先搜索 广度优先搜索 并查集 2+ 🟠 🀄️ 🔗 211
695 岛屿的最大面积 [✓] 深度优先搜索 广度优先搜索 并查集 2+ 🟠 🀄️ 🔗 56
94 二叉树的中序遍历 [✓] 深度优先搜索 1+ 🟢 🀄️ 🔗 124
129 求根节点到叶节点数字之和 [✓] 深度优先搜索 二叉树 🟠 🀄️ 🔗 76
124 二叉树中的最大路径和 [✓] 深度优先搜索 动态规划 1+ 🔴 🀄️ 🔗 129
543 二叉树的直径 [✓] 深度优先搜索 二叉树 🟢 🀄️ 🔗 74
662 二叉树最大宽度 [✓] 深度优先搜索 广度优先搜索 1+ 🟠 🀄️ 🔗 57
958 二叉树的完全性检验 [✓] 广度优先搜索 二叉树 🟠 🀄️ 🔗 42
572 另一棵树的子树 [✓] 深度优先搜索 二叉树 2+ 🟢 🀄️ 🔗 28
100 相同的树 [✓] 深度优先搜索 广度优先搜索 1+ 🟢 🀄️ 🔗 16
111 二叉树的最小深度 [✓] 深度优先搜索 广度优先搜索 1+ 🟢 🀄️ 🔗 20
  • 图的广度优先搜索
题号 标题 题解 标签 难度 力扣 频次
322 零钱兑换 [✓] 广度优先搜索 数组 动态规划 🟠 🀄️ 🔗 84
207 课程表 [✓] 深度优先搜索 广度优先搜索 1+ 🟠 🀄️ 🔗 43
剑指 Offer 32-III 从上到下打印二叉树 III [✓] 广度优先搜索 二叉树 🟠 🀄️ 16
  • 图的拓扑排序
题号 标题 题解 标签 难度 力扣 频次
210 课程表 II [✓] 深度优先搜索 广度优先搜索 1+ 🟠 🀄️ 🔗 19

枚举算法

题号 标题 题解 标签 难度 力扣 频次
1 两数之和 [✓] 数组 哈希表 🟢 🀄️ 🔗 232
78 子集 [✓] 位运算 数组 回溯 🟠 🀄️ 🔗 85

递归算法

题号 标题 题解 标签 难度 力扣 频次
24 两两交换链表中的节点 [✓] 递归 链表 🟠 🀄️ 🔗 50
104 二叉树的最大深度 [✓] 深度优先搜索 广度优先搜索 1+ 🟢 🀄️ 🔗 77
226 翻转二叉树 [✓] 深度优先搜索 广度优先搜索 1+ 🟢 🀄️ 🔗 59

分治算法

题号 标题 题解 标签 难度 力扣 频次
169 多数元素 [✓] 数组 哈希表 分治 2+ 🟢 🀄️ 🔗 61
14 最长公共前缀 [✓] 字典树 字符串 🟢 🀄️ 🔗 58
剑指 Offer 33 二叉搜索树的后序遍历序列 [✓] 二叉搜索树 4+ 🟠 🀄️ 16

回溯算法

题号 标题 题解 标签 难度 力扣 频次
46 全排列 [✓] 数组 回溯 🟠 🀄️ 🔗 202
47 全排列 II [✓] 数组 回溯 🟠 🀄️ 🔗 40
37 解数独 [✓] 数组 哈希表 回溯 1+ 🔴 🀄️ 🔗 18
22 括号生成 [✓] 字符串 动态规划 回溯 🟠 🀄️ 🔗 105
39 组合总和 [✓] 数组 回溯 🟠 🀄️ 🔗 68
40 组合总和 II [✓] 数组 回溯 🟠 🀄️ 🔗 35
93 复原 IP 地址 [✓] 字符串 回溯 🟠 🀄️ 🔗 114
79 单词搜索 [✓] 数组 字符串 回溯 1+ 🟠 🀄️ 🔗 38
679 24 点游戏 数组 数学 回溯 🔴 🀄️ 🔗 21

贪心算法

题号 标题 题解 标签 难度 力扣 频次
122 买卖股票的最佳时机 II [✓] 贪心 数组 动态规划 🟠 🀄️ 🔗 56
55 跳跃游戏 [✓] 贪心 数组 动态规划 🟠 🀄️ 🔗 38
402 移掉 K 位数字 [✓] 贪心 字符串 1+ 🟠 🀄️ 🔗 44
135 分发糖果 [✓] 贪心 数组 🔴 🀄️ 🔗 29
134 加油站 [✓] 贪心 数组 🟠 🀄️ 🔗 20
670 最大交换 [✓] 贪心 数学 🟠 🀄️ 🔗 17

动态规划

题号 标题 题解 标签 难度 力扣 频次
70 爬楼梯 [✓] 记忆化搜索 数学 动态规划 🟢 🀄️ 🔗 109
509 斐波那契数 [✓] 递归 记忆化搜索 数学 1+ 🟢 🀄️ 🔗 19
121 买卖股票的最佳时机 [✓] 数组 动态规划 🟢 🀄️ 🔗 211
518 零钱兑换 II [✓] 数组 动态规划 🟠 🀄️ 🔗 35
300 最长递增子序列 [✓] 数组 二分查找 动态规划 🟠 🀄️ 🔗 163
1143 最长公共子序列 [✓] 字符串 动态规划 🟠 🀄️ 🔗 120
718 最长重复子数组 数组 二分查找 动态规划 3+ 🟠 🀄️ 🔗 60
64 最小路径和 [✓] 数组 动态规划 矩阵 🟠 🀄️ 🔗 68
72 编辑距离 [✓] 字符串 动态规划 🟠 🀄️ 🔗 127
32 最长有效括号 [✓] 字符串 动态规划 🔴 🀄️ 🔗 81
221 最大正方形 [✓] 数组 动态规划 矩阵 🟠 🀄️ 🔗 68
62 不同路径 [✓] 数学 动态规划 组合数学 🟠 🀄️ 🔗 55
63 不同路径 II [✓] 数组 动态规划 矩阵 🟠 🀄️ 🔗 18
152 乘积最大子数组 [✓] 数组 动态规划 🟠 🀄️ 🔗 55
198 打家劫舍 [✓] 数组 动态规划 🟠 🀄️ 🔗 51
213 打家劫舍 II [✓] 数组 动态规划 🟠 🀄️ 🔗 25
91 解码方法 [✓] 字符串 动态规划 🟠 🀄️ 🔗 28
10 正则表达式匹配 [✓] 递归 字符串 动态规划 🔴 🀄️ 🔗 26
678 有效的括号字符串 [✓] 贪心 字符串 1+ 🟠 🀄️ 🔗 21
45 跳跃游戏 II [✓] 贪心 数组 动态规划 🟠 🀄️ 🔗 31
673 最长递增子序列的个数 [✓] 树状数组 线段树 数组 1+ 🟠 🀄️ 🔗 19
139 单词拆分 [✓] 字典树 记忆化搜索 数组 3+ 🟠 🀄️ 🔗 52
44 通配符匹配 [✓] 贪心 递归 字符串 1+ 🔴 🀄️ 🔗 19
120 三角形最小路径和 [✓] 数组 动态规划 🟠 🀄️ 🔗 23
96 不同的二叉搜索树 [✓] 二叉搜索树 数学 2+ 🟠 🀄️ 🔗 24
887 鸡蛋掉落 数学 二分查找 动态规划 🔴 🀄️ 🔗 21
97 交错字符串 [✓] 字符串 动态规划 🟠 🀄️ 🔗 17
516 最长回文子序列 [✓] 字符串 动态规划 🟠 🀄️ 🔗 17
329 矩阵中的最长递增路径 [✓] 深度优先搜索 广度优先搜索 5+ 🔴 🀄️ 🔗 28

位运算

题号 标题 题解 标签 难度 力扣 频次
191 位1的个数 [✓] 位运算 分治 🟢 🀄️ 🔗 17
268 丢失的数字 [✓] 位运算 数组 哈希表 3+ 🟢 🀄️ 🔗 16

排序算法

  • 冒泡排序
题号 标题 题解 标签 难度 力扣 频次
283 移动零 [✓] 数组 双指针 🟢 🀄️ 🔗 49
  • 插入排序
题号 标题 题解 标签 难度 力扣 频次
75 颜色分类 [✓] 数组 双指针 排序 🟠 🀄️ 🔗 33
  • 归并排序
题号 标题 题解 标签 难度 力扣 频次
剑指 Offer 51 数组中的逆序对 [✓] 树状数组 线段树 数组 4+ 🔴 🀄️ 37
  • 堆排序
题号 标题 题解 标签 难度 力扣 频次
912 排序数组 数组 分治 桶排序 5+ 🟠 🀄️ 🔗 16
215 数组中的第K个最大元素 [✓] 数组 分治 快速选择 2+ 🟠 🀄️ 🔗 420
剑指 Offer 40 最小的k个数 [✓] 数组 分治 快速选择 2+ 🟢 🀄️ 36
  • 基数排序
题号 标题 题解 标签 难度 力扣 频次
164 最大间距 [✓] 数组 桶排序 基数排序 1+ 🟠 🀄️ 🔗 16
  • 其他排序
题号 标题 题解 标签 难度 力扣 频次
136 只出现一次的数字 [✓] 位运算 数组 🟢 🀄️ 🔗 45
56 合并区间 [✓] 数组 排序 🟠 🀄️ 🔗 125
179 最大数 [✓] 贪心 数组 字符串 1+ 🟠 🀄️ 🔗 51
384 打乱数组 [✓] 数组 数学 随机化 🟠 🀄️ 🔗 28
剑指 Offer 45 把数组排成最小的数 [✓] 贪心 字符串 排序 🟠 🀄️ 18
  • 链表排序
题号 标题 题解 标签 难度 力扣 频次
148 排序链表 [✓] 链表 双指针 分治 2+ 🟠 🀄️ 🔗 111
21 合并两个有序链表 [✓] 递归 链表 🟢 🀄️ 🔗 242

二分查找

  • 二分下标
题号 标题 题解 标签 难度 力扣 频次
704 二分查找 [✓] 数组 二分查找 🟢 🀄️ 🔗 120
34 在排序数组中查找元素的第一个和最后一个位置 [✓] 数组 二分查找 🟠 🀄️ 🔗 67
153 寻找旋转排序数组中的最小值 [✓] 数组 二分查找 🟠 🀄️ 🔗 49
154 寻找旋转排序数组中的最小值 II [✓] 数组 二分查找 🔴 🀄️ 🔗 16
33 搜索旋转排序数组 [✓] 数组 二分查找 🟠 🀄️ 🔗 220
162 寻找峰值 [✓] 数组 二分查找 🟠 🀄️ 🔗 60
4 寻找两个正序数组的中位数 [✓] 数组 二分查找 分治 🔴 🀄️ 🔗 117
74 搜索二维矩阵 [✓] 数组 二分查找 矩阵 🟠 🀄️ 🔗 35
240 搜索二维矩阵 II [✓] 数组 二分查找 分治 1+ 🟠 🀄️ 🔗 61
  • 二分答案
题号 标题 题解 标签 难度 力扣 频次
69 x 的平方根 [✓] 数学 二分查找 🟢 🀄️ 🔗 109
287 寻找重复数 [✓] 位运算 数组 双指针 1+ 🟠 🀄️ 🔗 25
50 Pow(x, n) [✓] 递归 数学 🟠 🀄️ 🔗 37
400 第 N 位数字 [✓] 数学 二分查找 🟠 🀄️ 🔗 23
  • 复杂的二分查找问题
题号 标题 题解 标签 难度 力扣 频次
209 长度最小的子数组 [✓] 数组 二分查找 前缀和 1+ 🟠 🀄️ 🔗 49
349 两个数组的交集 [✓] 数组 哈希表 双指针 2+ 🟢 🀄️ 🔗 22

双指针

  • 对撞指针
题号 标题 题解 标签 难度 力扣 频次
611 有效三角形的个数 [✓] 贪心 数组 双指针 2+ 🟠 🀄️ 🔗 20
16 最接近的三数之和 [✓] 数组 双指针 排序 🟠 🀄️ 🔗 29
11 盛最多水的容器 [✓] 贪心 数组 双指针 🟠 🀄️ 🔗 43
剑指 Offer 21 调整数组顺序使奇数位于偶数前面 [✓] 数组 双指针 排序 🟢 🀄️ 30
443 压缩字符串 [✓] 双指针 字符串 🟠 🀄️ 🔗 18
  • 快慢指针
题号 标题 题解 标签 难度 力扣 频次
26 删除有序数组中的重复项 [✓] 数组 双指针 🟢 🀄️ 🔗 35
88 合并两个有序数组 [✓] 数组 双指针 排序 🟢 🀄️ 🔗 204
  • 分离双指针
题号 标题 题解 标签 难度 力扣 频次
415 字符串相加 [✓] 数学 字符串 模拟 🟢 🀄️ 🔗 166
  • 链表双指针
题号 标题 题解 标签 难度 力扣 频次
141 环形链表 [✓] 哈希表 链表 双指针 🟢 🀄️ 🔗 210
142 环形链表 II [✓] 哈希表 链表 双指针 🟠 🀄️ 🔗 148
160 相交链表 [✓] 哈希表 链表 双指针 🟢 🀄️ 🔗 176
19 删除链表的倒数第 N 个结点 [✓] 链表 双指针 🟠 🀄️ 🔗 129
剑指 Offer 22 链表中倒数第k个节点 [✓] 链表 双指针 🟢 🀄️ 95
143 重排链表 [✓] 递归 链表 1+ 🟠 🀄️ 🔗 148
2 两数相加 [✓] 递归 链表 数学 🟠 🀄️ 🔗 106
445 两数相加 II [✓] 链表 数学 🟠 🀄️ 🔗 28

滑动窗口

  • 固定长度窗口
题号 标题 题解 标签 难度 力扣 频次
239 滑动窗口最大值 [✓] 队列 数组 滑动窗口 2+ 🔴 🀄️ 🔗 98
  • 不定长度窗口
题号 标题 题解 标签 难度 力扣 频次
3 无重复字符的最长子串 [✓] 哈希表 字符串 滑动窗口 🟠 🀄️ 🔗 642
76 最小覆盖子串 [✓] 哈希表 字符串 滑动窗口 🔴 🀄️ 🔗 87
862 和至少为 K 的最短子数组 [✓] 队列 数组 二分查找 4+ 🔴 🀄️ 🔗 16
1004 最大连续1的个数 III [✓] 数组 二分查找 前缀和 1+ 🟠 🀄️ 🔗 22

补充

  • 设计数据结构
题号 标题 题解 标签 难度 力扣 频次
146 LRU 缓存 [✓] 设计 哈希表 链表 1+ 🟠 🀄️ 🔗 525
460 LFU 缓存 [✓] 设计 哈希表 链表 1+ 🔴 🀄️ 🔗 45
  • 数学
题号 标题 题解 标签 难度 力扣 频次
7 整数反转 [✓] 数学 🟠 🀄️ 🔗 37
9 回文数 [✓] 数学 🟢 🀄️ 🔗 27
剑指 Offer 62 圆圈中最后剩下的数字 [✓] 递归 数学 🟢 🀄️ 30
168 Excel 表列名称 [✓] 数学 字符串 🟢 🀄️ 🔗 20
  • 模拟
题号 标题 题解 标签 难度 力扣 频次
8 字符串转换整数 (atoi) [✓] 字符串 🟠 🀄️ 🔗 106
165 比较版本号 [✓] 双指针 字符串 🟠 🀄️ 🔗 96
468 验证IP地址 字符串 🟠 🀄️ 🔗 48
86 分隔链表 [✓] 链表 双指针 🟠 🀄️ 🔗 18
  • 前缀和
题号 标题 题解 标签 难度 力扣 频次
560 和为 K 的子数组 [✓] 数组 哈希表 前缀和 🟠 🀄️ 🔗 49
  • 思维锻炼
题号 标题 题解 标签 难度 力扣 频次
31 下一个排列 [✓] 数组 双指针 🟠 🀄️ 🔗 111
556 下一个更大元素 III 数学 双指针 字符串 🟠 🀄️ 🔗 19
470 用 Rand7() 实现 Rand10() 数学 拒绝采样 概率与统计 1+ 🟠 🀄️ 🔗 68

::: info 数据来源: