LeetCode Hot100 分类刷题汇总
LeetCode Hot100 分类刷题汇总
目前进度:68/100
对于算法底子不好的我,认为分类汇总的刷题的效率会高很多,通过这些总结希望自己回顾复习时能更快的回忆起解题思路。
如果发现我的代码有误或者你有不理解的地方,欢迎交流,可以在评论区留言。
传送门
数组
| 题目 | 难度 | 标签 | 题解 | 
|---|---|---|---|
| 【31. 下一个排列】 | MID | 双指针、字典序 | 题解 | 
| 【48. 旋转图像】 | EASY | 矩阵翻转 | 题解 | 
| 【169. 多数元素】 | EASY | 摩尔投票法、数组处理 | 题解 | 
| 【215. 数组中的第K个最大元素】 | MID | 快速选择排序 | 题解 | 
| 【238. 除自身以外数组的乘积】 | MID | 前缀和、前后缀分解 | 题解 | 
| 【448. 找到所有数组中消失的数字】 | EASY | 数组处理 | 题解 | 
位运算
| 题目 | 难度 | 标签 | 题解 | 
|---|---|---|---|
| 【338. 比特位计数】 | EASY | 位运算、枚举 | 题解 | 
| 【136. 只出现一次的数字】 | EASY | 位运算、异或性质 | 题解 | 
| 【461. 汉明距离】 | EASY | 位运算、异或性质 | 题解 | 
二分查找
| 题目 | 难度 | 标签 | 题解 | 
|---|---|---|---|
| 4. 寻找两个正序数组的中位数 | |||
| 【33. 搜索旋转排序数组】 | MID | 二分、二段性 | 题解 | 
| 【34. 在排序数组中查找元素的第一个和最后一个位置】 | MID | 二分、二段性 | 题解 | 
| 【240. 搜索二维矩阵 II】 | MID | 矩阵搜索、双指针 二分??? | 题解 | 
双指针
| 题目 | 难度 | 标签 | 题解 | 
|---|---|---|---|
| 【3. 无重复字符的最长子串】 | MID | 双指针算法、哈希表、最长连续不重复子序列 | 题解 | 
| 【5. 最长回文子串】 | MID | 双指针、最长回文子串、枚举 | 题解 | 
| 【11. 盛最多水的容器】 | MID | 双指针、贪心、木桶短板效应 | 题解 | 
| 【15. 三数之和】 | MID | 双指针、单调性、枚举 | 题解 | 
| 【75. 颜色分类】 | MID | 三指针、排序 | 题解 | 
| 【76. 最小覆盖子串】 | HARD | 滑动窗口、双指针、哈希表、字符串处理 | 题解 | 
| 【283. 移动零】 | EASY | 双指针 | 题解 | 
| 【287. 寻找重复数】 | MID | 双指针、快慢指针 | 题解 | 
| 【647. 回文子串】 | MID | 双指针、回文子串 | 题解 | 
链表
| 题目 | 难度 | 标签 | 题解 | 
|---|---|---|---|
| 【2. 两数相加】 | MID | 单链表、两数相加 | 题解 | 
| 【19. 删除链表的倒数第 N 个结点】 | MID | 单链表、头删法 | 题解 | 
| 21. 合并两个有序链表 | |||
| 【23. 合并K个升序链表】 | HARD | 归并排序、优先队列、STL | 题解 | 
| 114. 二叉树展开为链表 | 题解 | ||
| 【141. 环形链表】 | EASY | 环形链表、双指针、快慢指针 | 题解 | 
| 【142. 环形链表 II】 | MID | 环形链表、双指针、快慢指针 | 题解 | 
| 【146. LRU 缓存】 | MID | 双链表、LRU缓存机制 | 题解 | 
| 【148. 排序链表】 | MID | 链表排序、非递归、归并排序 | 题解 | 
| 【160. 相交链表】 | EASY | 双指针 | 题解 | 
| 【206. 反转链表】 | EASY | 翻转链表、双指针、递归 | 题解 | 
| 【234. 回文链表】 | EASY | 翻转链表、双指针 | 题解 | 
栈和队列
| 题目 | 难度 | 标签 | 题解 | 
|---|---|---|---|
| 【20. 有效的括号】 | EASY | 栈操作、括号匹配 | 题解 | 
| 【155. 最小栈】 | MID | 栈操作 | 题解 | 
| 【394. 字符串解码】 | MID | 递归、DFS 栈??? | 题解 | 
| 【239. 滑动窗口最大值】 | HARD | 单调队列、滑动窗口 | 题解 | 
单调栈
| 题目 | 难度 | 标签 | 题解 | 
|---|---|---|---|
| 42. 接雨水 | |||
| 84. 柱状图中最大的矩形 | |||
| 85. 最大矩形 | |||
| 739. 每日温度 | 
哈希表
| 题目 | 难度 | 标签 | 题解 | 
|---|---|---|---|
| 【1. 两数之和】 | EASY | 哈希表、模拟 | 题解 | 
| 49. 字母异位词分组 | |||
| 【128. 最长连续序列】 | MID | 哈希表unordered_set应用 | 
题解 | 
| 【347. 前 K 个高频元素】 | MID | 哈希表、优先队列、小根堆 | 题解 | 
| 【438. 找到字符串中所有字母异位词】 | MID | 哈希表、双指针、滑动窗口 | 题解 | 
| 【560. 和为 K 的子数组】 | MID | 前缀和、哈希表 | 题解 | 
二叉树 (考点:链表,递归,DFS)
| 题目 | 难度 | 标签 | 题解 | 
|---|---|---|---|
| 【94. 二叉树的中序遍历】 | EASY | 中序遍历、DFS、栈操作 | 题解 | 
| 【96. 不同的二叉搜索树】 | MID | 二叉树形态映射、动态规划、乘法原理 | 题解 | 
| 【98. 验证二叉搜索树】 | MID | 递归、DFS | 题解 | 
| 【101. 对称二叉树】 | EASY | 递归、DFS | 题解 | 
| 【102. 二叉树的层序遍历】 | MID | 层序遍历、BFS | 题解 | 
| 【104. 二叉树的最大深度】 | EASY | 二叉树深度、DFS | 题解 | 
| 【105. 从前序与中序遍历序列构造二叉树】 | MID | 构造二叉树、前序(中序)遍历、哈希表 | 题解 | 
| 【114. 二叉树展开为链表】 | MID | 先序遍历 | 题解 | 
| 【124. 二叉树中的最大路径和】 | HARD | 二叉树遍历、递归、最近公共祖先(LCA)思想 | 题解 | 
| 【226. 翻转二叉树】 | EASY | 翻转二叉树、递归 | 题解 | 
| 【236. 二叉树的最近公共祖先】 | MID | 二叉树最近公共祖先、DFS | 题解 | 
| 297. 二叉树的序列化与反序列化 | |||
| 【337. 打家劫舍 III】 | MID | 树形DP、动态规划 | 题解 | 
| 【437. 路径总和 III】 | MID | 前序遍历、哈希表、前缀和、DFS | 题解 | 
| 【538. 把二叉搜索树转换为累加树】 | MID | 二叉搜索树、DFS | 题解 | 
| 【543. 二叉树的直径】 | EASY | 二叉树直径、DFS | 题解 | 
| 617. 合并二叉树 | |||
| 208. 实现 Trie (前缀树) | 
图论
| 题目 | 难度 | 标签 | 题解 | 
|---|---|---|---|
| 【399. 除法求值】 | MID | 图论、Floyd求最短路 | 题解 | 
回溯及DFS
| 题目 | 难度 | 标签 | 题解 | 
|---|---|---|---|
| 【17. 电话号码的字母组合】 | MID | 回溯及DFS、字符串处理 | 题解 | 
| 【22. 括号生成】 | MID | 括号序列、递归、卡特兰数(组合计数) | 题解 | 
| 【39. 组合总和】 | MID | 回溯及DFS | 题解 | 
| 【46. 全排列】 | MID | 回溯及DFS | 题解 | 
| 【78. 子集】 | MID | 回溯、位运算、二进制枚举 | 题解 | 
| 【79. 单词搜索】 | MID | 回溯及DFS | 题解 | 
| 【200. 岛屿数量】 | MID | DFS、Flood-fill算法 | 题解 | 
| 【301. 删除无效的括号】 | HARD | DFS、剪枝、双指针 | 题解 | 
| 【494. 目标和】重复1次 | MID | 回溯及DFS、动态规化(不好理解) | 题解 | 
BFS
| 题目 | 难度 | 标签 | 题解 | 
|---|---|---|---|
| 207. 课程表 | 
动态规划
| 题目 | 难度 | 标签 | 题解 | 
|---|---|---|---|
| 10. 正则表达式匹配 | |||
| 32. 最长有效括号 | |||
| 53. 最大子数组和 | |||
| 62. 不同路径 | |||
| 64. 最小路径和 | |||
| 70. 爬楼梯 | |||
| 72. 编辑距离 | |||
| 121. 买卖股票的最佳时机 | |||
| 139. 单词拆分 | |||
| 152. 乘积最大子数组 | |||
| 221. 最大正方形 | |||
| 279. 完全平方数 | |||
| 【300. 最长递增子序列】 | MID | 经典DP、最长上升子序列问题、二分 | 题解 | 
| 309. 最佳买卖股票时机含冷冻期 | |||
| 312. 戳气球 | |||
| 322. 零钱兑换 | |||
| 【337. 打家劫舍 III】 | MID | 树形DP、动态规划 | 题解 | 
| 416. 分割等和子集 | 
贪心
| 题目 | 题解 | 
|---|---|
| 55. 跳跃游戏 | |
| 56. 合并区间 | |
| 406. 根据身高重建队列 | |
| 621. 任务调度器 | |
| 581. 最短无序连续子数组 | |
| 253. 会议室 II「会员题」 | 
其他待整理
82 删除链表重复元素 https://www.acwing.com/activity/content/code/content/6486863/
83 排序链表去重 https://www.acwing.com/activity/content/code/content/6491029/
150 栈操作,求中缀表达式 https://www.acwing.com/activity/content/code/content/6502857/
328 奇偶链表,链表合并 https://www.acwing.com/activity/content/code/content/6491188/
参考资料
【文档 LeetCode Hot100 分类版 by tonngw】
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AriesfunのBlog!
 评论





