题目描述
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
限制条件:时间限制:1秒 空间限制:32768K 热度指数:672707
解题思路:二叉树一直是大学时候的噩梦,但真的猛士敢于面对惨淡的人生,敢于正视变化多端的二叉树。解题之前需要有一些二叉树的基本知识,比如前序遍历和中序遍历还有后续遍历是什么。 对于二叉树:
前序遍历:对于每一棵二叉子树都有:先遍历根节点,然后是左子树,最后遍历右子树。(递归思想)
上图的前序遍历输出为:A,B,C
中序遍历: 对于每一棵二叉子树都有:先遍历左子树,然后是根节点,最后遍历右子树 。 对于上图的输出为: B,A,C
后序遍历: 对于每一棵二叉子树都有:先遍历其左子树,然后是右子树,最后遍历根节点。 对于上图的输出为: