这里是 dingjianhub 的 leetcode 刷题的笔记。
包含了已经提交的题目的代码、笔记。有些笔记较为详细,有些较为简略。
在这些笔记中,很多内容是参考、摘录、再创作了很多 leetcode 用户和网络上的内容,在此向编写详实的笔记作者致敬。引用部分在笔记中做出了指示,再次感谢这些作者的无私奉献。
本人水平有限,在编写笔记和代码过程中难免会有错误,望读者海涵,谢谢。
本人常用的语言为 Java 语言,其他语言鲜有涉猎,如果您对其他语言熟悉,也可以提交其他语言版本的代码PR,在此表示感谢。
如果您在阅读中,发现了图片缺失,链接错误等情况,欢迎提交 issue。谢谢。
- 包含超链接,点击链接可以跳转到题目或者笔记。
- 标注难度级别。
| 题目名(点击跳转题目) | 笔记链接(点击跳转链接) | 难度评级 | 关键词 |
|---|---|---|---|
| 15 . 三数之和 | 15 . 三数之和 | Medium | 排序;双指针 |
| 16 . 最接近的三数之和 | 16 . 最接近的三数之和 | Medium | 排序;双指针 |
| 54 . 螺旋矩阵 | 54 . 螺旋矩阵 | Medium | 蛇形填数 |
| 54 . 螺旋矩阵 2 | 54 . 螺旋矩阵 2 | Medium | 蛇形填数 |
| 238 . 除自身以外的数组的乘积 | 238 . 除自身以外的数组的乘积 | Medium | 前缀积;后缀积 |
| 628 . 三个数的最大乘积 | 628 . 三个数的最大乘积 | Easy | 分情况讨论;多个数字交换 |
| 题目名(点击跳转题目) | 笔记链接(点击跳转链接) | 难度评级 | 关键词 |
|---|---|---|---|
| 125 . 验证回文串 | 125 . 验证回文串 | Easy | 双指针;简化情况 |
| 383 . 赎金信 | 383 . 赎金信 | Easy | 计数器 counter |
| 387 . 字符串中的第一个唯一字符 | 387 . 字符串中的第一个唯一字符 | Easy | 计数器 counter |
| 680 . 验证回文字符串2 | 680 . 验证回文字符串2 | Easy | 双指针;覆写思想 |
| 题目名(点击跳转题目) | 笔记链接(点击跳转链接) | 难度评级 | 关键词 |
|---|---|---|---|
| 88 . 合并两个有序数组 | 88 . 合并两个有序数组 | Medium | 双指针;覆写思想 |
| 986 . 区间列表的交集 | 986 . 区间列表的交集 | Medium | 双指针;“坐标系”恒定 |
| 713 . 乘积小于K的子数组 | 713 . 乘积小于K的子数组 | Medium | 双指针 |
| 题目名(点击跳转题目) | 笔记链接(点击跳转链接) | 难度评级 | 关键词 |
|---|---|---|---|
| 144 . 二叉树的前序遍历 | 144 . 二叉树的前序遍历 | Medium | 递归;栈改写 |
| 94 . 二叉树的中序遍历 | 94 . 二叉树的中序遍历 | Medium | |
| 145 . 二叉树的后序遍历 | 145 . 二叉树的后序遍历 | Medium | |
| 102 . 二叉树的层序遍历 | 102 . 二叉树的层序遍历 | Medium | |
| 563 . 二叉树的坡度 | 563 . 二叉树的坡度 | Easy | |
| 98 . 验证搜索二叉树 | 98 . 验证搜索二叉树 | Medium | |
| 105 . 从前序与中序遍历序列构造二叉树 | 105 . 从前序与中序遍历序列构造二叉树 | Medium | |
| 106 . 从中序和后序遍历构造二叉树 | 106 . 从中序和后序遍历构造二叉树 | Medium | |
| 1008 . 先序遍历二叉搜索树构造二叉树 | 1008 . 先序遍历二叉搜索树构造二叉树 | Medium | |
| 101 . 对称二叉树 | 101 . 对称二叉树 | Easy | DFS;BFS |
| 104 . 二叉树的最大深度 | 104 . 二叉树的最大深度 | Easy | DFS;BFS |
| 112 . 路径总和 | 112 . 路径总和 | Easy | DFS;BFS |
| 226 . 翻转二叉树 | 226 . 翻转二叉树 | Easy | 递归 |
| 题目名(点击跳转题目) | 笔记链接(点击跳转链接) | 难度评级 | 关键词 |
|---|---|---|---|
| 53 . 最大子序和 | 53 . 最大子序和 | Easy | |
| 152 . 乘积最大子数组 | 152 . 乘积最大子数组 | Medium | |
| 题目名(点击跳转题目) | 笔记链接(点击跳转链接) | 难度评级 | 关键词 |
|---|---|---|---|
| 997 . 找到小镇的法官 | 997 . 找到小镇的法官 | Easy | |
| 题目名(点击跳转题目) | 笔记链接(点击跳转链接) | 难度评级 | 关键词 |
|---|---|---|---|
| 347 . 前 K 高频元素 | 347 . 前 K 高频元素 | Medium | |
| 451 . 根据字符出现的频率排序 | 451 . 根据字符出现的频率排序 | Medium | |
| 题目名(点击跳转题目) | 笔记链接(点击跳转链接) | 难度评级 | 关键词 |
|---|---|---|---|
| Easy | |||
| Medium | |||
| 题目名(点击跳转题目) | 笔记链接(点击跳转链接) | 难度评级 | 关键词 |
|---|---|---|---|
| 1029 . 两地调度之优化算法 | 1029 . 两地调度之优化算法 | Easy | |
| 题目名(点击跳转题目) | 笔记链接(点击跳转链接) | 难度评级 | 关键词 |
|---|---|---|---|
| 476 . 数字的补数 | 476 . 数字的补数 | Easy | |
| 191 . 位1的个数 | 191 . 位1的个数 | Easy | 位移动 |
| 231 . 2的幂 | 231 . 2的幂 | Easy | |
| 461 . 汉明距离 | 461 . 汉明距离 | Easy | |
| 477 . 汉明距离总和 | 477 . 汉明距离总和 | Easy | |
笔记 URL :https://labuladong.gitbook.io/algo/
非常实用主义的笔记,首先关注整体框架,理清思路,选择性忽略细节。
刷题向笔记,作者写道:“非 ACM,野路子出身。大部分人学习算法和数据结构,就是为了刷题,巩固计算机知识。别死磕 数学 和 证明。”
笔记 URL :https://liweiwei1419.gitee.io/leetcode-algo/#indexCard