NeetCode 150 面试题单
NeetCode 150 在 Blind 75 的基础上再精选 75 道题,将 150 道高频面试题完整分配到 18 个专题:数组与哈希、双指针、滑动窗口、栈、二分查找、链表、二叉树、字典树、堆、回溯、图论、进阶图论、一维与二维动态规划、贪心、区间、数学与位运算。
每个专题都有足够的题量让你反复巩固同一种套路,不再只是背单一题型。你在 Blind 75 或 12 份算法题单做过的题目都会自动打勾。
150 道题难度分 1161–286318 专题
进入书房
想有人陪你把这份题单做完吗?登录后进入书房,女主角会一次递给你一道题。
数组与 Hashing
| 题目 | 难度 / 评分 |
|---|---|
| 217. 存在重复元素 | Easy |
| 242. 有效的字母异位词 | Easy |
| 1. 两数之和 | 1161 |
| 49. 字母异位词分组 | Medium |
| 347. 前 K 个高频元素 | Medium |
| 238. 除自身以外阵列的乘积 | Medium |
| 36. 有效的数独 | Medium |
| 271. 字串的编码与解码 LeetCode Premium(选做) | Medium |
| 128. 最长连续序列 | Medium |
Two Pointers
| 题目 | 难度 / 评分 |
|---|---|
| 125. 验证回文串 | 1263 |
| 167. 两数之和 II - 输入有序阵列 | 1263 |
| 15. 三数之和 | 1263 |
| 11. 盛最多水的容器 | 1263 |
| 42. 接雨水 | 1263 |
Sliding Window
| 题目 | 难度 / 评分 |
|---|---|
| 121. 买卖股票的最佳时机 | Easy |
| 3. 无重复字元的最长子串 | 1263 |
| 424. 替换后的最长重复字元 | 1787 |
| 567. 字串的排列 | 2006 |
| 76. 最小覆盖子串 | 1592 |
| 239. 滑动视窗最大值 | 1851 |
Stack
| 题目 | 难度 / 评分 |
|---|---|
| 20. 有效的括号 | 1242 |
| 155. 最小堆叠 | 1772 |
| 150. 逆波兰表示式求值 | 1408 |
| 22. 括号生成 | Medium |
| 739. 每日温度 | 1700 |
| 853. 车队 | 1600 |
| 84. 柱状图中最大的矩形 | 1900 |
Binary Search
| 题目 | 难度 / 评分 |
|---|---|
| 704. 二分搜寻 | Easy |
| 74. 搜寻二维矩阵 | Medium |
| 875. 爱吃香蕉的珂珂 | 1766 |
| 153. 寻找旋转排序阵列中的最小值 | Medium |
| 33. 搜寻旋转排序阵列 | Medium |
| 981. 基于时间的键值储存 | Medium |
| 4. 寻找两个正序阵列的中位数 | Hard |
Linked List
| 题目 | 难度 / 评分 |
|---|---|
| 206. 反转连结串列 | Easy |
| 21. 合并两个有序连结串列 | Easy |
| 143. 重排连结串列 | Medium |
| 19. 删除连结串列的倒数第 N 个结点 | Medium |
| 138. 随机连结串列的复制 | Medium |
| 2. 两数相加 | Medium |
| 141. 环形连结串列 | Easy |
| 287. 寻找重复数 | Medium |
| 146. LRU 快取 | 2863 |
| 23. 合并 K 个升序连结串列 | 1818 |
| 25. K 个一组翻转连结串列 | Hard |
树
| 题目 | 难度 / 评分 |
|---|---|
| 226. 翻转二元树 | Easy |
| 104. 二元树的最大深度 | Easy |
| 543. 二元树的直径 | Easy |
| 110. 平衡二元树 | Easy |
| 100. 相同的树 | Easy |
| 572. 另一棵树的子树 | Easy |
| 235. 二元搜寻树的最近公共祖先 | Medium |
| 102. 二元树的层序遍历 | Medium |
| 199. 二元树的右检视 | Medium |
| 1448. 统计二元树中好节点的数目 | 1360 |
| 98. 验证二元搜寻树 | Medium |
| 230. 二元搜寻树中第 K 小的元素 | Medium |
| 105. 从前序与中序遍历序列构造二元树 | Medium |
| 124. 二元树中的最大路径和 | Hard |
| 297. 二元树的序列化与反序列化 | Hard |
Trie
| 题目 | 难度 / 评分 |
|---|---|
| 208. 实现 Trie (字首树) | 1180 |
| 211. 新增与搜寻单词 - 资料结构设计 | 1725 |
| 212. 单词搜寻 II | 1725 |
Heap
| 题目 | 难度 / 评分 |
|---|---|
| 703. 资料流中的第 K 大元素 | 1419 |
| 1046. 最后一块石头的重量 | 1173 |
| 973. 最接近原点的 K 个点 | Medium |
| 215. 阵列中的第K个最大元素 | Medium |
| 621. 任务排程器 | 1905 |
| 355. 设计推特 | 1822 |
| 295. 资料流的中位数 | 2159 |
Backtracking
| 题目 | 难度 / 评分 |
|---|---|
| 78. 子集 | Medium |
| 39. 组合总和 | Medium |
| 46. 全排列 | Medium |
| 90. 子集 II | Medium |
| 40. 组合总和 II | Medium |
| 79. 单词搜寻 | Medium |
| 131. 分割回文串 | Medium |
| 17. 电话号码的字母组合 | Medium |
| 51. N 皇后 | Hard |
图
| 题目 | 难度 / 评分 |
|---|---|
| 200. 岛屿数量 | Medium |
| 133. 复制图 | Medium |
| 695. 岛屿的最大面积 | Medium |
| 417. 太平洋大西洋水流问题 | 1900 |
| 130. 被围绕的区域 | Medium |
| 994. 腐烂的橘子 | Medium |
| 286. 墙与门 LeetCode Premium(选做) | Medium |
| 207. 课程表 | Medium |
| 210. 课程表 II | Medium |
| 684. 冗余连线 | Medium |
| 323. 无向图中连通分量的数目 LeetCode Premium(选做) | Medium |
| 261. 以图判树 LeetCode Premium(选做) | Medium |
| 127. 单词接龙 | Hard |
进阶图论
| 题目 | 难度 / 评分 |
|---|---|
| 332. 重新安排行程 | Hard |
| 1584. 连线所有点的最小费用 | 1858 |
| 743. 网路延迟时间 | Medium |
| 778. 水位上升的泳池中游泳 | 2097 |
| 269. 火星词典 LeetCode Premium(选做) | Hard |
| 787. K 站中转内最便宜的航班 | Medium |
一维 DP
| 题目 | 难度 / 评分 |
|---|---|
| 70. 爬楼梯 | Easy |
| 746. 使用最小花费爬楼梯 | 1500 |
| 198. 打家劫舍 | Medium |
| 213. 打家劫舍 II | Medium |
| 5. 最长回文子串 | Medium |
| 647. 回文子串 | Medium |
| 91. 解码方法 | Medium |
| 322. 零钱兑换 | Medium |
| 152. 乘积最大子阵列 | Medium |
| 139. 单词拆分 | Medium |
| 300. 最长递增子序列 | Medium |
| 416. 分割等和子集 | Medium |
二维 DP
| 题目 | 难度 / 评分 |
|---|---|
| 62. 不同路径 | Medium |
| 1143. 最长公共子序列 | Medium |
| 309. 买卖股票的最佳时机含冷冻期 | Medium |
| 518. 零钱兑换 II | Medium |
| 494. 目标和 | Medium |
| 97. 交错字串 | Medium |
| 329. 矩阵中的最长递增路径 | Hard |
| 115. 不同的子序列 | Hard |
| 72. 编辑距离 | Medium |
| 312. 戳气球 | Hard |
| 10. 正规表示式匹配 | Hard |
Greedy
| 题目 | 难度 / 评分 |
|---|---|
| 53. 最大子阵列和 | Medium |
| 55. 跳跃游戏 | Medium |
| 45. 跳跃游戏 II | 1700 |
| 134. 加油站 | Medium |
| 846. 一手顺子 | Medium |
| 1899. 合并若干三元组以形成目标三元组 | 1636 |
| 763. 划分字母区间 | 1443 |
| 678. 有效的括号字串 | 1700 |
区间
| 题目 | 难度 / 评分 |
|---|---|
| 57. 插入区间 | Medium |
| 56. 合并区间 | Medium |
| 435. 无重叠区间 | 1700 |
| 252. 会议室 LeetCode Premium(选做) | Easy |
| 253. 会议室 II LeetCode Premium(选做) | Medium |
| 1851. 包含每个查询的最小区间 | 2286 |
数学与几何
| 题目 | 难度 / 评分 |
|---|---|
| 48. 旋转影像 | Medium |
| 54. 螺旋矩阵 | Medium |
| 73. 矩阵置零 | Medium |
| 202. 快乐数 | Easy |
| 66. 加一 | Easy |
| 50. Pow(x, n) | Medium |
| 43. 字串相乘 | Medium |
| 2013. 检测正方形 | Medium |
Bit Manipulation
| 题目 | 难度 / 评分 |
|---|---|
| 136. 只出现一次的数字 | Easy |
| 191. 位 1 的个数 | Easy |
| 338. 位元位计数 | Easy |
| 190. 颠倒二进位位 | Easy |
| 268. 丢失的数字 | Easy |
| 371. 两整数之和 | Medium |
| 7. 整数反转 | Medium |
签订学习契约时选择 NeetCode 150,或在完成 Blind 75 后直接切换过来,女主角会自动跳过已做题目,带你补齐剩下的 75 道题。
难度分来自 zerotrac 的 LeetCode 竞赛评分;早期经典题没有竞赛评分,会显示 LeetCode 官方难度。
进入书房