描述
请根据二叉树的前序遍历,中序遍历恢复二叉树,并打印出二叉树的右视图
数据范围: 0 ≤n≤10000
要求: 空间复杂度 O(n)O(n),时间复杂度 O(n)O(n)
如输入[1,2,4,5,3],[4,2,5,1,3]时,通过前序遍历的结果[1,2,4,5,3]和中序遍历的结果[4,2,5,1,3]可重建出以下二叉树:
所以对应的输出为[1,3,5]。
示例1
输入:[1,2,4,5,3],[4,2,5,1,3]
返回值:[1,3,5]
备注:
二叉树每个节点的值在区间[1,10000]内,且保证每个节点的值互不相同。
思路分析
-
前置知识
-
我们首先需要知道二叉树的先序遍历的序列和中序遍历的序列是什么?
-
如下图 我们把一棵树分为根结点,左子树和右子树。先序遍历就是先遍历序列的根节点,然后遍历序列的左子树,然后遍历序列的右子树。中序遍历就是先遍历序列的左子树,然后是根节点,最后是右子树这样的顺序。后序遍历就是先遍历序列的左子树的所有的结点&#
-