题目序号 | 题目名称 | 难度 | 通过与否 | 多解 | 剩余优化空间 | 加精 |
---|---|---|---|---|---|---|
124 | 二叉树中的最大路径和 | hard | 否 | 2 | ||
105 | 从前序与中序遍历序列构造二叉树 | medium | 是 | 10% | ||
99 | 恢复二叉搜索树 | hard | 是 | 3 | 40% | |
94 | 二叉树的中序遍历 | medium | 是 | 3 | 0% | *(Morris遍历) |
144 | 二叉树的前序遍历 | medium | 是 | 3 | 0% | |
145 | 二叉树的后序遍历 | medium | 是 | 3 | 0% | |
102 | 二叉树的层序遍历 | medium | 是 | 0% | ||
103 | 二叉树的锯齿形层次遍历 | medium | 是 | 2 | 20% | |
106 | 中序与后序遍历序列构造二叉树 | medium | 是 | 10% | ||
112 | 路径总和 | easy | 是 | 2 | 0% | |
113 | 路径总和 II | medium | 是 | 2 | 0% | |
96 | 不同的二叉搜索树 | medium | 是 | 2 | 0% | |
98 | 验证二叉搜索树 | medium | 是 | 2 | 0% | |
114 | 二叉树展开为链表 | medium | 是 | 2 | 30% | |
116 | 填充每个节点的下一个右侧节点指针 | medium | 是 | 3 | 40% | |
129 | 求根到叶子节点数字之和 | medium | 是 | 5% | ||
173 | 二叉搜索树迭代器 | medium | 是 | 2 | 0% | |
199 | 二叉树的右视图 | medium | 是 | 2 | 0% | |
222 | 完全二叉树的节点个数 | medium | 是 | 4 | 50% | *(位运算+编码) |
429 | N 叉树的层序遍历 | medium | 是 | 3 | 30% | |
437 | 路径总和 III | medium | 是 | 2 | 50% | *(前缀和算法) |
236 | 二叉树的最近公共祖先 | medium | 是 | 2 | 20% | *(后序遍历版本) |
235 | 二叉搜索树的最近公共祖先 | easy | 是 | 2 | 0% | |
95 | 不同的二叉搜索树 II | medium | 是 | 2 | 10% | *(递归法+动规的树同构) |
337 | 打家劫舍 III | medium | 是 | 2 | 30% | *(树形动规) |
297 | 二叉树的序列化与反序列化 | hard | 是 | 3 | 0% | *(括号编码法) |
617 | 合并二叉树 | easy | 是 | 2 | 20% | |
101 | 对称二叉树 | easy | 是 | 2 | 0% | |
104 | 二叉树的最大深度 | easy | 是 | 2 | 0% | |
543 | 二叉树的直径 | easy | 是 | 0% | ||
226 | 翻转二叉树 | easy | 是 | 0% | ||
538 | 把二叉搜索树转换为累加树 | medium | 是 | 2 | 0% |
题目序号 | 题目名称 | 难度 | 通过与否 | 多解 | 剩余优化空间 | 加精 |
---|---|---|---|---|---|---|
10 | 正则表达式匹配 | hard | 否 | *(两次都没做出来的题) | ||
5 | 最长回文子串 | medium | 是 | 4 | 0% | *(4种解法) |
53 | 最大子序和 | easy | 是 | 4 | 60% | *(贪心+动规+分治) |
62 | 不同路径 | medium | 是 | 2 | 0% | |
198 | 打家劫舍 | medium | 是 | 30%(空间优化) | ||
221 | 最大正方形 | medium | 是 | 2 | 0% | |
121 | 买卖股票的最佳时机 | easy | 是 | 2 | 0% | |
64 | 最小路径和 | medium | 是 | 0% | ||
70 | 爬楼梯 | easy | 是 | 3 | 15% | |
139 | 单词拆分 | medium | 是 | 2(递归会超时) | 10% | |
279 | 完全平方数 | medium | 是 | 5 | 10% | *(贪心+N叉树) |
494 | 目标和 | medium | 是 | 3(空间优化) | 20% | |
322 | 零钱兑换 | medium | 是 | 2 | 20% |
题目序号 | 题目名称 | 难度 | 通过与否 | 多解 | 剩余优化空间 | 加精 |
---|---|---|---|---|---|---|
17 | 电话号码的字母组合 | medium | 是 | 80%(用StringBuilder完成字符串累加) | ||
46 | 全排列 | medium | 是 | 0% | ||
39 | 组合总和 | medium | 是 | 3 | 90%(修改回溯路径来去重) | *(选择与否思路+前进/踏步思路) |
78 | 子集 | medium | 是 | 3 | 0% | |
79 | 单词搜索 | medium | 是 | 50%(谁告诉我怎么优化?) | ||
22 | 括号生成 | medium | 是 | 3 | 0% |
题目序号 | 题目名称 | 难度 | 通过与否 | 多解 | 剩余优化空间 | 加精 |
---|---|---|---|---|---|---|
3 | 无重复字符的最长子串 | medium | 是 | 2 | 0% | *(滑动窗口) |
1 | 两数之和 | easy | 是 | 2 | 0% | |
2 | 两数相加 | medium | 是 | 0% | ||
234 | 回文链表 | easy | 是 | 4 | 15% | *(递归+反转+哈希) |
206 | 反转链表 | easy | 是 | 2 | 0% | *(递归官方版) |
155 | 最小栈 | easy | 是 | 0% | ||
169 | 多数元素 | easy | 是 | 5 | 0% | |
160 | 相交链表 | easy | 是 | 4 | 0% | *(八字法) |
141 | 环形链表 | easy | 是 | 2 | 0% | |
142 | 环形链表 II | medium | 是 | 2 | 30% | |
136 | 只出现一次的数字 | easy | 是 | 0% | ||
148 | 排序链表 | medium | 是 | 2 | 80%(直接对链表归并可大幅优化) | *(自底向上的归并排序) |
21 | 合并两个有序链表 | easy | 是 | 2 | 10% | *(超简洁的递归写法) |
19 | 删除链表的倒数第 N 个结点 | medium | 是 | 3 | 20%(空间复杂度) | *(快慢指针法) |
215 | 数组中的第K个最大元素 | medium | 是 | 3 | 30% | |
461 | 汉明距离 | easy | 是 | 3 | 0% | |
146 | LRU 缓存机制 | medium | 是 | 3 | 70% | *(linkedHashMap底层) |
338 | 比特位计数 | medium | 是 | 4 | 0% | |
20 | 有效的括号 | easy | 是 | 0% | ||
34 | 在排序数组中查找元素的第一个和最后一个位置 | medium | 是 | 3 | 0% | |
200 | 岛屿数量 | medium | 是 | 3 | 0% | *(经典:D/BFS+UF大法) |
283 | 移动零 | easy | 是 | 2 | 0% |
[2020-12-14]
- 将所有的题解代码转入
./solutions
文件夹 - 编写统一接口
SolutionsFacade
,以后所有解题代码都要实现它 - 利用反射机制创建测试实例,避免大量
import xxx
和重复写好多测试数据,后来想想似乎有点多余
[2021-01-12]
./solutions
文件夹按照主题分类,主要有:树、动规、排序等。- 因python目录下的《字符串的所有字母的组合》可以看作是LeetCode78的特例(排除了空集的情况),故将其合并,不再保留独立代码!