博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重建二叉树
阅读量:5981 次
发布时间:2019-06-20

本文共 1190 字,大约阅读时间需要 3 分钟。

重建二叉树

描述

题目很简单,给你一棵二叉树的后序和中序序列,求出它的前序序列(So easy!)。

 
输入
输入有多组数据(少于100组),以文件结尾结束。 每组数据仅一行,包括两个字符串,中间用空格隔开,分别表示二叉树的后序和中序序列(字符串长度小于26,输入数据保证合法)。
输出
每组输出数据单独占一行,输出对应得先序序列。
样例输入
ACBFGED ABCDEFGCDAB CBAD
样例输出
DBACEGFBCAD
#include 
#include
using namespace std;struct tree{ char data; tree *left; tree *right;};tree *converse(char *pos,char *in,int n,int m){ tree *b; int k=0; char *p,*q,*maxp; int maxpost,maxin; if(n<=0) { return NULL; } maxpost=-1; for(p=in;p
maxpost) { maxpost=k; maxp=p; maxin=p-in; } } b=new tree; b->data=pos[maxpost]; b->left=converse(pos,in,maxin,m); b->right=converse(pos,maxp+1,n-maxin-1,m); return b;}void pre(tree *b){ if(b) { cout<
data; pre(b->left); pre(b->right); }}int main(){ char c1[1000],c2[1000]; while(cin>>c1>>c2) { tree *b; b=converse(c1,c2,strlen(c1),strlen(c2)); pre(b); cout<

 

转载于:https://www.cnblogs.com/imwtr/p/4069618.html

你可能感兴趣的文章
运维平台第一版本实现过程
查看>>
启动oracle em命令
查看>>
Android Studio 第五十六期 - Android之系统设置选项的包名
查看>>
mysql准实时同步数据到Elasticsearch
查看>>
Django+ PowerShell 管理AD系统
查看>>
MFA(Multi-Factor Authentication)应用之Outlook2013排错
查看>>
Kickstart+HTTP+DHCP+TFTP全自动批量安装部署Linux系统
查看>>
Docker学习之容器
查看>>
17.Azure备份(MARS)代理(上)
查看>>
解决MSN无法登录问题的意外收获
查看>>
不只是折腾!OS X 10.10 Yosemite 改造攻略
查看>>
演示:通过实验取证IP报文的各个字段
查看>>
C#设计模式(6)——原型模式(Prototype Pattern)
查看>>
Lync日常维护之三:客户端显示状态未更新的处理方法
查看>>
Oracle网格控制器OMA端安装Yast
查看>>
Android应用程序组件Content Provider应用实例(1)
查看>>
WinForm------TreeList加载数据方法
查看>>
hashcode(),equal()方法深入解析
查看>>
easyui datagrid 列拖动
查看>>
通过shape-outside来设置文字环绕时的形状
查看>>