leetcode面试经典150题
数组/字符串
88. 合并两个有序数组(简单)
27. 移除元素(简单)
26. 删除有序数组中的重复项(简单)
80. 删除有序数组中的重复项 II(简单)
169. 多数元素(简单)
189. 轮转数组(中等)
121. 买卖股票的最佳时机(简单)
122. 买卖股票的最佳时机 II(中等)
55. 跳跃游戏(中等)
45. 跳跃游戏 II(中等)
274. H 指数(中等)
380. O(1) 时间插入、删除和获取随机元素(中等)
238. 除自身以外数组的乘积(中等)
134. 加油站(中等)
135. 分发糖果(困难)
42. 接雨水(困难)
13. 罗马数字转整数(简单)
12. 整数转罗马数字(中等)
58. 最后一个单词的长度(简单)
14. 最长公共前缀(简单)
151. 反转字符串中的单词(中等)
6. Z 字形变换(中等)
28. 找出字符串中第一个匹配项的下标(中等)
68. 文本左右对齐(困难)
双指针
125. 验证回文串(简单)
392.判断子序列(简单)
167. 两数之和 II - 输入有序数组(中等)
11. 盛最多水的容器(中等)
15. 三数之和(中等)
滑动窗口
209. 长度最小的子数组(中等)
3. 无重复字符的最长子串(中等)
30. 串联所有单词的子串(困难)
76. 最小覆盖子串(困难)
矩阵
36. 有效的数独(中等)
54. 螺旋矩阵(中等)
48. 旋转图像(中等)
73. 矩阵置零(中等)
289. 生命游戏(中等)
哈希表
383. 赎金信(简单)
205. 同构字符串(简单)
290. 单词规律(简单)
242. 有效的字母异位词(简单)
49. 字母异位词分组(中等)
1. 两数之和(简单)
202. 快乐数(简单)
219. 存在重复元素 II(简单)
128. 最长连续序列(中等)
区间
228. 汇总区间(简单)
56. 合并区间(中等)
57. 插入区间(中等)
452. 用最少数量的箭引爆气球(中等)
栈
20. 有效的括号(简单)
71. 简化路径(中等)
155. 最小栈(中等)
150. 逆波兰表达式求值(中等)
224. 基本计算器(困难)
链表
141. 环形链表(简单)
2. 两数相加(中等)
21. 合并两个有序链表(简单)
138. 复制带随机指针的链表(中等)
92. 反转链表 II(中等)
25. K 个一组翻转链表(困难)
19. 删除链表的倒数第 N 个结点(中等)
82. 删除排序链表中的重复元素 II(中等)
61. 旋转链表(中等)
86. 分隔链表(中等)
146. LRU 缓存(中等)
二叉树
104. 二叉树的最大深度(简单)
100. 相同的树(简单)
226.翻转二叉树(简单)
101. 对称二叉树(简单)
105. 从前序与中序遍历序列构造二叉树(中等)
106. 从中序与后序遍历序列构造二叉树(中等)
117. 填充每个节点的下一个右侧节点指针 II(中等)
114. 二叉树展开为链表(中等)
112. 路径总和(简单)
129. 求根节点到叶节点数字之和(中等)
124. 二叉树中的最大路径和(困难)
173. 二叉搜索树迭代器(中等)
222. 完全二叉树的节点个数(中等)
236. 二叉树的最近公共祖先(中等)
二叉树层次遍历
199. 二叉树的右视图(中等)
637. 二叉树的层平均值(简单)
102. 二叉树的层序遍历(中等)
103. 二叉树的锯齿形层序遍历(中等)
二叉搜索树
530. 二叉搜索树的最小绝对差(简单)
230. 二叉搜索树中第K小的元素(中等)
98. 验证二叉搜索树(中等)
图
200. 岛屿数量(中等)
130. 被围绕的区域(中等)
133. 克隆图(中等)
399. 除法求值(中等)
207. 课程表(中等)
210. 课程表 II(中等)
图的广度优先搜索
909. 蛇梯棋(中等)
433. 最小基因变化(中等)
127. 单词接龙(困难)
字典树
208. 实现 Trie (前缀树)(中等)
211. 添加与搜索单词 - 数据结构设计(中等)
212. 单词搜索 II(困难)
回溯
17. 电话号码的字母组合(中等)
77. 组合(中等)
46. 全排列(中等)
39. 组合总和(中等)
52. N 皇后 II(困难)
22. 括号生成(中等)
79. 单词搜索(中等)
分治
108. 将有序数组转换为二叉搜索树(简单)
148. 排序链表(中等)
427. 建立四叉树(中等)
23. 合并 K 个升序链表(困难)
Kadane 算法
53. 最大子数组和(中等)
918. 环形子数组的最大和(中等)
二分查找
35. 搜索插入位置(简单)
74. 搜索二维矩阵(中等)
162. 寻找峰值(中等)
33. 搜索旋转排序数组(中等)
34. 在排序数组中查找元素的第一个和最后一个位置(中等)
153. 寻找旋转排序数组中的最小值(中等)
4. 寻找两个正序数组的中位数(困难)
堆
215. 数组中的第K个最大元素(中等)
502. IPO(困难)
373. 查找和最小的 K 对数字(中等)
295. 数据流的中位数(困难)
位运算
67. 二进制求和(简单)
190. 颠倒二进制位(简单)
191. 位1的个数(简单)
136. 只出现一次的数字(简单)
137. 只出现一次的数字 II(中等)
201. 数字范围按位与(中等)
数学
9. 回文数(简单)
66. 加一(简单)
172. 阶乘后的零(中等)
69. x 的平方根(简单)
50. Pow(x, n)(中等)
149. 直线上最多的点数(困难)
一维动态规划
70. 爬楼梯(简单)
198. 打家劫舍(中等)
139. 单词拆分(中等)
零钱兑换(中等)
最长递增子序列(中等)
多维动态规划
三角形最小路径和(中等)
最小路径和(中等)
不同路径 II(中等)
最长回文子串(中等)
交错字符串(中等)
编辑距离(困难)
买卖股票的最佳时机 III(困难)
买卖股票的最佳时机 IV(困难)
最大正方形(中等)
来源:力扣(LeetCode)
链接:https://leetcode.cn/studyplan/top-interview-150/
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。