重练算法(代码随想录版) 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/

posted @ 2025-11-20 17:18  GengarF  阅读(2)  评论(0)    收藏  举报