本文主要是介绍代码随想录day23(2)二叉树:从中序与后序遍历序列构造二叉树(leetcode106),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目要求:根据一棵树的中序遍历与后序遍历构造二叉树。
思路:408的经典题目,思路和手撕的思路差不多,先从后序中找到根节点,再从中序中找到此节点,然后分割成左右子树,记录一下左右子树的节点个数,再在后序中切割,继续递归处理即可。
按照卡哥的思路,可以分为六步:
1.数组大小为零的话,说明是空节点了。
2.如果不为空,那么取后序数组最后一个元素作为节点元素。
3.在中序中找到此节点,开始分割
4.分割中序数组,分为左右子树
5.分割后续数组,分为左右子树
6.递归
leetcode实战:
代码实现:
这篇关于代码随想录day23(2)二叉树:从中序与后序遍历序列构造二叉树(leetcode106)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!