题目
重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
解题思路
通过前序遍历数组找各子树的根节点,中序遍历数组找各子树的左右子树包含的节点
根据图上的两个数组,我们可以知道该二叉树的根节点是1,左子树包含的节点有2,4,7,同理可得右子树节点们。
那么现在就可以在2, 4, 7继续上述的操作,进行递归操作,同理可得右子树。
|
|