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

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

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

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

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

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

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

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

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

6.递归

leetcode实战:

代码实现:

相关推荐
努力学习的小廉13 小时前
我爱学算法之——动态规划(四)
算法·动态规划
北顾笙98014 小时前
day15-数据结构力扣
数据结构·算法·leetcode
AI成长日志14 小时前
【GitHub开源项目专栏】黑客松项目架构模式解析:微服务、事件驱动与Serverless实战
算法
人道领域14 小时前
【LeetCode刷题日记:24】两两交换链表
算法·leetcode·链表
北顾笙98014 小时前
day16-数据结构力扣
数据结构·算法·leetcode
AI成长日志14 小时前
【算法学习专栏】动态规划基础·简单三题精讲(70.爬楼梯、118.杨辉三角、121.买卖股票的最佳时机)
学习·算法·动态规划
wsoz14 小时前
Leetcode子串-day4
c++·算法·leetcode
汀、人工智能14 小时前
[特殊字符] 第27课:环形链表II
数据结构·算法·链表·数据库架构··环形链表ii
会编程的土豆14 小时前
【数据结构与算法】二叉树大总结
数据结构·算法·leetcode
沉鱼.4415 小时前
第十届题目
算法