代码随想录day23(2)二叉树:从中序与后序遍历序列构造二叉树(leetcode106)

题目要求:根据一棵树的中序遍历与后序遍历构造二叉树。

思路:408的经典题目,思路和手撕的思路差不多,先从后序中找到根节点,再从中序中找到此节点,然后分割成左右子树,记录一下左右子树的节点个数,再在后序中切割,继续递归处理即可。

按照卡哥的思路,可以分为六步:

1.数组大小为零的话,说明是空节点了。

2.如果不为空,那么取后序数组最后一个元素作为节点元素。

3.在中序中找到此节点,开始分割

4.分割中序数组,分为左右子树

5.分割后续数组,分为左右子树

6.递归

leetcode实战:

代码实现:

相关推荐
晓宜7 分钟前
Java25 新特性介绍
java·python·算法
LGL6030A9 分钟前
数据结构学习(2)——多功能链表的实现(C语言)
数据结构·学习·链表
nsjqj11 分钟前
数据结构:栈和队列
数据结构
琼羽1091 小时前
第十七周-通用量子门与Deutsch-Jozsa算法
算法·量子计算
旺小仔.1 小时前
位运算专题
算法
xwl12121 小时前
10.6 作业
数据结构·算法
胡小禾3 小时前
JDK17和JDK8的 G1
jvm·算法
胖咕噜的稞达鸭5 小时前
算法入门:专题攻克一---双指针(3)有效三角形的个数 查找总价格为目标值的两个商品(剑指offer题目)
算法
逻辑留白陈10 小时前
Adaboost进阶:与主流集成算法对比+工业级案例+未来方向
算法
Learn Beyond Limits10 小时前
Mean Normalization|均值归一化
人工智能·神经网络·算法·机器学习·均值算法·ai·吴恩达