这里是 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