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!
评论