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

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

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

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

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

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

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

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

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

6.递归

leetcode实战:

代码实现:

相关推荐
是店小二呀15 分钟前
【优选算法 | 字符串】字符串模拟题精选:思维+实现解析
android·c++·算法
成工小白28 分钟前
【Linux】进程地址空间
linux·算法
凤年徐28 分钟前
【C/C++】自定义类型:结构体
c语言·开发语言·c++·经验分享·笔记·算法
闪电麦坤951 小时前
数据结构:树(Tree)
数据结构
Inverse1621 小时前
C语言_自定义类型:结构体
c语言·开发语言·算法
Musennn2 小时前
102. 二叉树的层序遍历详解:队列操作与层级分组的核心逻辑
java·数据结构·算法·leetcode
越来越无动于衷2 小时前
java数组题(5)
java·算法
理论最高的吻2 小时前
77. 组合【 力扣(LeetCode) 】
c++·算法·leetcode·深度优先·剪枝·回溯法
学习中的码虫2 小时前
c 中的哈希表
数据结构·哈希算法·散列表
强盛小灵通专卖员5 小时前
分类分割详细指标说明
人工智能·深度学习·算法·机器学习