C++实现重建二叉树,假设输入的前序遍历和中序遍历的结果中都不含重复的数字。如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回

解题思路以下:code 一、首先创建4个vector用来存放前序遍历和中序遍历的左右子树;递归 二、因为前序遍历的第1个元素就是根节点,则在中序遍历中找到它记为Head,则中序遍历中Head左边的长度为Head的几个元素为中序遍历的左子树;同理在前序遍历中第1个元素右边长度为Head的几个元素为前序遍历的左子树;it 三、而后以Head为分界线,把他们的左右子树分别放入各自新建的vector中;i
相关文章
相关标签/搜索