LeetCode 高频面试题汇总。
序号 | 题号 | 题目 | 难度 | 标签 |
---|---|---|---|---|
1 | LC0003 | 无重复字符的最长子串 | 中等 | 滑动窗口 |
2 | LC0146 | LRU 缓存机制 | 中等 | 双向链表 |
3 | LC0206 | 反转链表 | 简单 | 链表 |
4 | LC0215 | 数组中的第 K 个最大元素 | 中等 | 快速排序 |
5 | LC0025 | K 个一组翻转链表 | 困难 | 链表 |
6 | LC0015 | 三数之和 | 中等 | 双指针 |
7 | LC0053 | 最大子数组和 | 中等 | 前缀和 |
8 | LC0912 | 手撕快速排序 | 中等 | 快速排序 |
9 | LC0021 | 合并两个有序链表 | 简单 | 链表 |
10 | LC0005 | 最长回文子串 | 中等 | 字符串 |
11 | LC0102 | 二叉树的层序遍历 | 中等 | BFS |
12 | LC0001 | 两数之和 | 简单 | 哈希表 |
13 | LC0033 | 搜索旋转排序数组 | 中等 | 二分查找 |
14 | LC0200 | 岛屿数量 | 中等 | DFS |
15 | LC0046 | 全排列 | 中等 | 排列型回溯 |
16 | LC0088 | 合并两个有序数组 | 简单 | 双指针 |
17 | LC0020 | 有效的括号 | 简单 | 栈 |
18 | LC0121 | 买卖股票的最佳时机 | 简单 | 贪心 |
19 | LC0236 | 二叉树的最近公共祖先 | 中等 | 二叉树 |
20 | LC0103 | 二叉树的锯齿形层次遍历 | 中等 | BFS |
21 | LC0092 | 反转链表 II | 中等 | 链表 |
22 | LC0141 | 环形链表 | 简单 | 快慢指针 |
23 | LC0054 | 螺旋矩阵 | 中等 | 模拟 |
24 | LC0300 | 最长上升子序列 | 中等 | 线性 DP,贪心 |
25 | LC0023 | 合并 K 个排序链表 | 困难 | 堆 |
26 | LC0143 | 重排链表 | 中等 | 链表 |
27 | LC0415 | 字符串相加 | 简单 | 模拟 |
28 | LC0056 | 合并区间 | 中等 | 排序 |
29 | LC0160 | 相交链表 | 简单 | 双指针 |
30 | LC0042 | 接雨水 | 困难 | 单调栈 |
31 | LC0072 | 编辑距离 | 中等 | 线性 DP |
32 | LC0124 | 二叉树中的最大路径和 | 困难 | 树形 DP |
33 | LC0093 | 复原 IP 地址 | 中等 | 子集型回溯 |
34 | LC0142 | 环形链表 II | 中等 | 双指针 |
35 | LC0019 | 删除链表的倒数第 N 个节点 | 中等 | 双指针 |
36 | LC1143 | 最长公共子序列 | 中等 | 线性 DP |
37 | LC0082 | 删除排序链表中的重复元素 II | 中等 | 链表 |
38 | LC0004 | 寻找两个正序数组的中位数 | 困难 | 二分查找 |
39 | LC0199 | 二叉树的右视图 | 中等 | 二叉树 |
40 | LC0094 | 二叉树的中序遍历 | 简单 | 二叉树 |
41 | LC0165 | 比较版本号 | 中等 | 字符串 |
42 | LC0704 | 二分查找 | 简单 | 二分查找 |
43 | LC0232 | 用栈实现队列 | 简单 | 栈,队列 |
44 | LC0022 | 括号生成 | 中等 | 回溯 |
45 | LC0148 | 排序链表 | 中等 | 归并排序 |
46 | LC0031 | 下一个排列 | 中等 | 思维题 |
47 | LC0239 | 滑动窗口最大值 | 困难 | 单调队列 |
48 | LC0069 | x 的平方根 | 简单 | 二分答案 |
49 | LC0002 | 两数相加 | 中等 | 链表 |
50 | LC0008 | 字符串转换整数 (atoi) | 中等 | 模拟 |
51 | LC0032 | 最长有效括号 | 困难 | |
52 | LC0070 | 爬楼梯 | 简单 | |
53 | LC0322 | 零钱兑换 | 中等 | |
54 | LC0043 | 字符串相乘 | 中等 | |
55 | LC0076 | 最小覆盖子串 | 困难 | |
56 | LC0041 | 缺失的第一个正数 | 困难 | |
57 | LC0105 | 从前序与中序遍历序列构造二叉树 | 中等 | |
58 | 剑指 Offer 22 | 链表中倒数第 k 个节点 | 简单 | |
59 | LC0151 | 翻转字符串里的单词 | 中等 | |
60 | LC0078 | 子集 | 中等 | |
61 | LC0129 | 求根到叶子节点数字之和 | 中等 | |
62 | LC0155 | 最小栈 | 简单 | |
63 | LC0101 | 对称二叉树 | 简单 | |
64 | LC0034 | 在排序数组中查找元素的第一个和最后一个位置 | 中等 | |
65 | LC0104 | 二叉树的最大深度 | 简单 | |
66 | LC0039 | 组合总和 | 中等 | |
67 | LC0394 | 字符串解码 | 中等 | |
68 | LC0144 | 二叉树的前序遍历 | 简单 | |
69 | LC0470 | 用 Rand7() 实现 Rand10() | 中等 | |
70 | LC0110 | 平衡二叉树 | 简单 | |
71 | LC0064 | 最小路径和 | 中等 | |
72 | LC0048 | 旋转图像 | 中等 | |
73 | LC0543 | 二叉树的直径 | 简单 | |
74 | LC0221 | 最大正方形 | 中等 | |
75 | LC0122 | 买卖股票的最佳时机 II | 简单 | |
76 | LC0128 | 最长连续序列 | 中等 | |
77 | LC0240 | 搜索二维矩阵 II | 中等 | |
78 | LC0098 | 验证二叉搜索树 | 中等 | |
79 | LC0234 | 回文链表 | 简单 | |
80 | LC0014 | 最长公共前缀 | 简单 | |
81 | LC0162 | 寻找峰值 | 中等 | |
82 | LC0695 | 岛屿的最大面积 | 中等 | |
83 | LC0113 | 路径总和 II | 中等 | |
84 | LC0662 | 二叉树最大宽度 | 中等 | |
85 | LC0062 | 不同路径 | 中等 | |
86 | LC0152 | 乘积最大子数组 | 中等 | |
87 | LC0198 | 打家劫舍 | 中等 | |
88 | LC0179 | 最大数 | 中等 | |
89 | LC0112 | 路径总和 | 简单 | |
90 | LC0560 | 和为 K 的子数组 | 中等 | |
91 | LC0227 | 基本计算器 II | 中等 | |
92 | LC0169 | 多数元素 | 简单 | |
93 | LC0718 | 最长重复子数组 | 中等 | |
94 | LC0209 | 长度最小的子数组 | 中等 | |
95 | LC0139 | 单词拆分 | 中等 | |
96 | LC0083 | 删除排序链表中的重复元素 | 简单 | |
97 | LC0226 | 翻转二叉树 | 简单 | |
98 | LC0024 | 两两交换链表中的节点 | 中等 | |
99 | LC0283 | 移动零 | 简单 | |
100 | 补充题 6 | 手撕堆排序 | 中等 | |
101 | LC0468 | 验证 IP 地址 | 中等 | |
102 | LC0739 | 每日温度 | 中等 | |
103 | LC0297 | 二叉树的序列化与反序列化 | 困难 | |
104 | LC0138 | 复制带随机指针的链表 | 中等 | |
105 | LC0224 | 基本计算器 | 困难 | |
106 | LC0153 | 寻找旋转排序数组中的最小值 | 中等 | |
107 | LC0207 | 课程表 | 中等 | |
108 | LC0460 | LFU 缓存 | 困难 | |
109 | LC0079 | 单词搜索 | 中等 | |
110 | LC0402 | 移掉 K 位数字 | 中等 | |
111 | LC0047 | 全排列 II | 中等 | |
112 | LC0136 | 只出现一次的数字 | 简单 | |
113 | LC0011 | 盛最多水的容器 | 中等 | |
114 | 补充题 5 | 手撕归并排序 | 中等 | |
115 | 剑指 Offer 09 | 用两个栈实现队列 | 简单 | |
116 | LC0061 | 旋转链表 | 中等 | |
117 | LC0123 | 买卖股票的最佳时机 III | 困难 | |
118 | LC0498 | 对角线遍历 | 中等 | |
119 | LC0958 | 二叉树的完全性检验 | 中等 | |
120 | LC0055 | 跳跃游戏 | 中等 | |
121 | 剑指 Offer 36 | 二叉搜索树与双向链表 | 中等 | |
122 | LC0040 | 组合总和 II | 中等 | |
123 | LC0016 | 最接近的三数之和 | 中等 | |
124 | LC0026 | 删除排序数组中的重复项 | 简单 | |
125 | LC0074 | 搜索二维矩阵 | 中等 | |
126 | 剑指 Offer 51 | 数组中的逆序对 | 困难 | |
127 | LC0007 | 整数反转 | 简单 | |
128 | 补充题 23 | 检测循环依赖 | 中等 | |
129 | 补充题 1 | 排序奇升偶降链表 | 中等 | |
130 | LC0114 | 二叉树展开为链表 | 中等 | |
131 | LC0059 | 螺旋矩阵 II | 中等 | |
132 | LC0518 | 零钱兑换 II | 中等 | |
133 | 剑指 Offer 26 | 树的子结构 | 中等 | |
134 | LC0050 | Pow(x, n) | 中等 | |
135 | LC0145 | 二叉树的后序遍历 | 中等 | |
136 | LC0075 | 颜色分类 | 中等 | |
137 | LC0572 | 另一个树的子树 | 简单 | |
138 | LC0440 | 字典序的第 K 小数字 | 困难 | |
139 | 剑指 Offer 40 | 最小的 k 个数 | 简单 | |
140 | 剑指 Offer 54 | 二叉搜索树的第 k 大节点 | 简单 | |
141 | LC0091 | 解码方法 | 中等 | |
142 | 剑指 Offer 42 | 连续子数组的最大和 | 简单 | |
143 | LC0442 | 数组中重复的数据 | 中等 | |
144 | LC0329 | 矩阵中的最长递增路径 | 困难 | |
145 | LC0450 | 删除二叉搜索树中的节点 | 中等 | |
146 | LC0135 | 分发糖果 | 困难 | |
147 | LC0125 | 验证回文串 | 简单 | |
148 | 剑指 Offer 10- II | 青蛙跳台阶问题 | 简单 | |
149 | LC0010 | 正则表达式匹配 | 困难 | |
150 | LC0445 | 两数相加 II | 中等 | |
151 | LC0045 | 跳跃游戏 II | 中等 | |
152 | 剑指 Offer 04 | 二维数组中的查找 | 简单 | |
153 | 剑指 Offer 10- I | 斐波那契数列 | 简单 | |
154 | 补充题 2 | 圆环回原点问题 | 中等 | |
155 | LC0328 | 奇偶链表 | 中等 | |
156 | LC0347 | 前 K 个高频元素 | 中等 | |
157 | LC0208 | 实现 Trie (前缀树) | 中等 | |
158 | LC0230 | 二叉搜索树中第 K 小的元素 | 中等 | |
159 | LC0295 | 数据流的中位数 | 困难 | |
160 | LC0096 | 不同的二叉搜索树 | 中等 | |
161 | LC0225 | 用队列实现栈 | 简单 | |
162 | LC0106 | 从中序与后序遍历序列构造二叉树 | 中等 | |
163 | 剑指 Offer 62 | 圆圈中最后剩下的数字 | 简单 | |
164 | LC0213 | 打家劫舍 II | 中等 | |
165 | LC0516 | 最长回文子序列 | 中等 | |
166 | LC0189 | 轮转数组 | 中等 | |
167 | LC0287 | 寻找重复数 | 中等 | |
168 | 剑指 Offer 21 | 调整数组顺序使奇数位于偶数前面 | 简单 | |
169 | LC0678 | 有效的括号字符串 | 中等 | |
170 | LC0120 | 三角形最小路径和 | 中等 | |
171 | LC0887 | 鸡蛋掉落 | 困难 | |
172 | LC0009 | 回文数 | 简单 | |
173 | LC0384 | 打乱数组 | 中等 | |
174 | LC0085 | 最大矩形 | 困难 | |
175 | LC0044 | 通配符匹配 | 困难 | |
176 | LC0611 | 有效三角形的个数 | 中等 | |
177 | LC0210 | 课程表 II | 中等 | |
178 | LC067 | 24 点游戏 | 困难 | |
179 | LC0400 | 第 N 个数字 | 中等 | |
180 | LC0134 | 加油站 | 中等 | |
181 | 补充题 9 | 36 进制加法 | 中等 | |
182 | 剑指 Offer 29 | 顺时针打印矩阵 | 简单 | |
183 | 剑指 Offer 27 | 二叉树的镜像 | 简单 | |
184 | LC0264 | 丑数 II | 中等 | |
185 | LC0395 | 至少有 K 个重复字符的最长子串 | 中等 | |
186 | LC0084 | 柱状图中最大的矩形 | 困难 | |
187 | LC0097 | 交错字符串 | 中等 | |
188 | LC0253 | 会议室 II | 中等 | |
189 | 剑指 Offer 39 | 数组中出现次数超过一半的数字 | 简单 | |
190 | LC1004 | 最大连续 1 的个数 III | 中等 | |
191 | 补充题 14 | 阿拉伯数字转中文数字 | 中等 | |
192 | LC0316 | 去除重复字母 | 中等 | |
193 | LC0349 | 两个数组的交集 | 简单 | |
194 | LC0051 | N 皇后 | 困难 | |
195 | LC0673 | 最长递增子序列的个数 | 中等 | |
196 | 面试题 02.05 | 链表求和 | 中等 | |
197 | LC0071 | 简化路径 | 中等 | |
198 | LC0344 | 反转字符串 | 简单 | |
199 | LC0416 | 分割等和子集 | 中等 | |
200 | LC0443 | 压缩字符串 | 中等 |