Skip to content

Latest commit

 

History

History
105 lines (94 loc) · 6.01 KB

README.md

File metadata and controls

105 lines (94 loc) · 6.01 KB

【llf-path】

二叉树部分

题目序号 题目名称 难度 通过与否 多解 剩余优化空间 加精
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%

ChangeLog

[2020-12-14]

  1. 将所有的题解代码转入./solutions文件夹
  2. 编写统一接口SolutionsFacade,以后所有解题代码都要实现它
  3. 利用反射机制创建测试实例,避免大量import xxx和重复写好多测试数据,后来想想似乎有点多余

[2021-01-12]

  1. ./solutions文件夹按照主题分类,主要有:树、动规、排序等。
  2. 因python目录下的《字符串的所有字母的组合》可以看作是LeetCode78的特例(排除了空集的情况),故将其合并,不再保留独立代码!