首页 > 代码库 > 重建二叉树
重建二叉树
对于一颗二叉树,可以根据先序遍历(后序遍历)和中序遍历重新还原出二叉树。
主要通过递归实现。
关键是找出对应左右子树的长度,之后传递先序遍历的开始节点、结束节点,中序遍历的开始节点、结束节点。
代码:
#include <iostream> using namespace std; typedef struct tree{ int data; struct tree *lchild; struct tree *rchild; }Tree, *pTree; pTree reConstruct(int *startPre,int *endPre,int *startIn,int *endIn){ pTree root = new Tree(); root->data = http://www.mamicode.com/startPre[0];>
运行结果:和先序遍历输入一样:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。