代码随想录算法训练营第十八天 513.找树左下角的值、112.路径总和、113.路径总和II、106.从中序与后序遍历序列构造二叉树、105.从前序与中序遍历序列构造二叉树
代码随想录算法训练营第十八天 513找树左下角的值、112.路径总和、113.路径总和II、106.从中序与后序遍历序列构造二叉树、105.从前序与中序遍历序列构造二叉树
513. 找树左下角的值
题目链接:力扣题目链接
文章讲解:代码随想录(https://programmercarl.com)
视频讲解:怎么找二叉树的左下角? 递归中又带回溯了,怎么办?| LeetCode:513.找二叉树左下角的值
状态:AC
思路
这道题对左下角的定义是:最后一行,最左面的元素,只需要层序遍历,输出最后一行的第一个元素即可。
代码
1 |
|
112. 路径总和、113. 路径总和II
题目链接:
文章讲解:代码随想录(https://programmercarl.com)
视频讲解:拿不准的遍历顺序,搞不清的回溯过程,我太难了! | LeetCode:112. 路径总和
状态:AC
思路
- 找到根节点到叶子节点的路径:这里使用先序遍历(深度搜索)
- 将该路径所有节点求和,判断是否等于
targetSum
,有则保存至result
中
代码
1 |
|
1 |
|
106.从中序与后序遍历序列构造二叉树、105.从前序与中序遍历序列构造二叉树
题目链接:
文章讲解:代码随想录(https://programmercarl.com)
视频讲解:坑很多!来看看你掉过几次坑 | LeetCode:106.从中序与后序遍历序列构造二叉树
状态:AC
思路
这道题自己最开始想的不是很明白,而且自己在考试时做这类题也没有固定的套路,看了下卡哥的讲解
- 后序数组长度为0, 空节点
- 后序数组最后一个元素为父节点元素
- 寻找中序数组位置 作切割点
- 切中序数组
- 切后序数组
- 递归处理左区间 右区间
代码
1 |
|
1 |
|
代码随想录算法训练营第十八天 513.找树左下角的值、112.路径总和、113.路径总和II、106.从中序与后序遍历序列构造二叉树、105.从前序与中序遍历序列构造二叉树
https://promisewang.github.io/post/de527742.html