重练算法(代码随想录版) day16 - 二叉树part4
今日刷题量:5
当前刷题总量:82
Easy: 48
Mid: 32
Hard: 2
Day16
常用思想
1.仍旧递归三部曲,但是递归函数什么时候需要返回值?什么时候不需要返回值?
- 如果需要搜索整棵二叉树且不用处理递归返回值,递归函数就不要返回值。(113.路径总和ii)
- 如果需要搜索整棵二叉树且需要处理递归返回值,递归函数就需要返回值。 (236. 二叉树的最近公共祖先)
- 如果要搜索其中一条符合条件的路径,那么递归一定需要返回值,因为遇到符合条件的路径了就要及时返回。(112.路径总和)
2.根据前序中序/中序后序构建二叉树,递归的思想
- 最常规,最好理解的思路,用切割数组的方式去做
- 进一步优化,切割数组下标的方式
- 再进一步优化,可以利用哈希表的映射来做
练习题目
513.找树左下角的值(mid):https://leetcode.cn/problems/find-bottom-left-tree-value/description/
112.路径总和(easy):https://leetcode.cn/problems/path-sum/description/
113.路径总和Ⅱ(mid):https://leetcode.cn/problems/path-sum-ii/
105.从前序与中序遍历序列构造二叉树(mid):https://leetcode.cn/problems/construct-binary-tree-from-preorder-and-inorder-traversal/description/
106.从后序与中序遍历序列构造二叉树(mid):https://leetcode.cn/problems/construct-binary-tree-from-inorder-and-postorder-traversal/description/

浙公网安备 33010602011771号