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

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

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

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

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

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

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

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

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

6.递归

leetcode实战:

代码实现:

相关推荐
样例过了就是过了4 分钟前
LeetCode热题100 爬楼梯
c++·算法·leetcode·动态规划
IronMurphy6 分钟前
【算法三十七】51. N 皇后
算法·深度优先
DoUfp0bgq7 分钟前
从直觉到算法:贝叶斯思维的技术底层与工程实现
算法
ThisIsMirror19 分钟前
leetcode 452 Arrays.sort()排序整数溢出、Integer.compare(a[1], b[1])成功的问题
算法·leetcode
王老师青少年编程19 分钟前
csp信奥赛c++之状压枚举
数据结构·c++·算法·csp·信奥赛·csp-s·状压枚举
wayz1130 分钟前
数据分析中的异常值处理:MAD
算法·数据挖掘·数据分析
飞Link35 分钟前
LangGraph 核心架构解析:节点 (Nodes) 与边 (Edges) 的工作机制及实战指南
java·开发语言·python·算法·架构
Mr_Xuhhh1 小时前
深入理解二叉树:从数据结构到算法实战
数据结构·算法
xuhaoyu_cpp_java1 小时前
Boyer-Moore 投票算法
java·经验分享·笔记·学习·算法
kobesdu1 小时前
FAST-LIO2 + 蓝海M300激光雷达:从建图到实时栅格图的完整流程
算法·机器人·ros·slam·fast lio