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

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

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

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

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

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

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

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

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

6.递归

leetcode实战:

代码实现:

相关推荐
Aaron15884 分钟前
电子战侦察干扰技术在反无人机领域的技术浅析
算法·fpga开发·硬件架构·硬件工程·无人机·基带工程
zhglhy24 分钟前
Jaccard相似度算法原理及Java实现
java·开发语言·算法
workflower28 分钟前
PostgreSQL 数据库的典型操作
数据结构·数据库·oracle·数据库开发·时序数据库
仰泳的熊猫40 分钟前
1140 Look-and-say Sequence
数据结构·c++·算法·pat考试
handuoduo12341 小时前
SITAN中avp必要性分析
人工智能·算法·机器学习
zl_vslam1 小时前
SLAM中的非线性优-3D图优化之相对位姿Between Factor右扰动(八)
人工智能·算法·计算机视觉·3d
EXtreme351 小时前
栈与队列的“跨界”对话:如何用双队列完美模拟栈的LIFO特性?
c语言·数据结构·leetcode·双队列模拟栈·算法思维
电饭叔1 小时前
如何代码化,两点之间的距离
笔记·python·算法
TL滕1 小时前
从0开始学算法——第十三天(Rabin-Karp 算法练习)
笔记·学习·算法·哈希算法
松涛和鸣1 小时前
29、Linux进程核心概念与编程实战:fork/getpid全解析
linux·运维·服务器·网络·数据结构·哈希算法