第十六天 | 513.找树左下角的值 112. 路径总和 113.路径总和ii 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树

513.找树左下角的值

给定一个二叉树,在树的最后一行找到最左边的值。

思路:用层序遍历是非常简单的了,反而用递归的话会比较难一点。

这里的层序遍历,在每一层内部从右到左,保证最后一个节点是最左的节点。

递归法:1. 定义一个高度函数。2. 递归函数。终止条件:当节点的高度为1的时候,说明当前节点为叶节点,返回当前节点值。递归条件:否则,递归函数填入(更高的那个子树)

112. 路径总和 & 113.路径总和ii

给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。112返回布尔值,113返回所有符合的路径。

思路:终止条件:到叶节点的时候,看路径上所有节点的值总和是否等于targetSum。如果相等,就把路径贴入结果。如果不是叶节点,就继续放进栈迭代。

112 & 113 迭代法

递归法

106.从中序与后序遍历序列构造二叉树 

思路:后序遍历最后一个元素是根,中序遍历根元素左边是左子树,右边是右子树。

递归法&迭代法

105.从前序与中序遍历序列构造二叉树

思路:前序遍历第一个元素是根,中序遍历根元素左边是左子树,右边是右子树。

递归法&迭代法

以下是卡哥资料

 513. 找树左下角的值  

本地递归偏难,反而迭代简单属于模板题, 两种方法掌握一下 

题目链接/文章讲解/视频讲解:https://programmercarl.com/0513.%E6%89%BE%E6%A0%91%E5%B7%A6%E4%B8%8B%E8%A7%92%E7%9A%84%E5%80%BC.html 

 路径总和  

本题 又一次设计要回溯的过程,而且回溯的过程隐藏的还挺深,建议先看视频来理解 

112. 路径总和,和 113. 路径总和ii 一起做了。 优先掌握递归法。

题目链接/文章讲解/视频讲解:https://programmercarl.com/0112.%E8%B7%AF%E5%BE%84%E6%80%BB%E5%92%8C.html 

 从中序与后序遍历序列构造二叉树 

本题算是比较难的二叉树题目了,大家先看视频来理解。 

106.从中序与后序遍历序列构造二叉树,105.从前序与中序遍历序列构造二叉树 一起做,思路一样的

题目链接/文章讲解/视频讲解:https://programmercarl.com/0106.%E4%BB%8E%E4%B8%AD%E5%BA%8F%E4%B8%8E%E5%90%8E%E5%BA%8F%E9%81%8D%E5%8E%86%E5%BA%8F%E5%88%97%E6%9E%84%E9%80%A0%E4%BA%8C%E5%8F%89%E6%A0%91.html

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容