二叉树学习-已知中序、后序,求先序
来源:互联网 发布:5g网络4g手机能用吗 编辑:程序博客网 时间:2024/06/05 02:41
Description
已知一棵二叉树的中序遍历和后序遍历,求二叉树的先序遍历Input
输入数据有多组,第一行是一个整数t (t<1000),代表有t组测试数据。每组包括两个长度小于50 的字符串,第一个字符串表示二叉树的中序遍历序列,第二个字符串表示二叉树的后序遍历序列。Output
输出二叉树的先序遍历序列Sample Input
2dbgeafcdgebfcalnixulinuxSample Output
abdegcfxnliu
代码如下:
#include <iostream>#include"cstdio"#include"cstring"#include"cstdlib"using namespace std;char ins[1050],pos[1050];struct node{ char data; node *lch,*rch;};node *build(char *ins ,char*pos,int n){ if(n<=0) return NULL; node *p; p=(node*)malloc(sizeof(node)); p->data=pos[n-1]; int k; for( k=0;k<n;k++) if(ins[k]==pos[n-1]) break; p->lch=build(ins,pos,k); p->rch=build(ins+k+1,pos+k,n-k-1); return p;}void xianxu(node *p){ if(p!=NULL) { printf("%c",p->data); xianxu(p->lch); xianxu(p->rch); }}int main(){ int t; scanf("%d",&t); while(t--) {memset(ins,'\0',sizeof(ins)); memset(pos,'\0',sizeof(pos)); scanf("%s%*c%s",ins,pos); node *tree; tree=(node*)malloc(sizeof(node)); int n=strlen(ins); tree=build(ins,pos,n); xianxu(tree); putchar('\n'); } return 0;}
0 0
- 二叉树学习-已知中序、后序,求先序
- 二叉树遍历:已知中序和后序,求前序
- 二叉树 已知中序 后序 求前序
- 已知中序、后序 序列重构二叉树
- 二叉树中,已知中序和后序序列,求先序序列
- 已知二叉树的后序遍历和中序遍历重建二叉树(二叉树)
- 已知先序+中序构造二叉树,已知后序+中序构造二叉树(C语言)
- 已知二叉树的中序遍历和后序遍历,求先序遍历
- 已知二叉树的中序遍历,后序遍历画出二叉树
- 已知二叉树的后序遍历和中序遍历求前序遍历(二叉树)
- 已知二叉树先序遍历,中序遍历创建二叉树并输出后序遍历
- 已知二叉树先序遍历中序遍历求其后序遍历、重建二叉树
- 二叉树:已知前序&&中序或中序&&后序构造树
- 已知中序与后序,或者中序与先序,构造二叉树
- 已知中序与后序,或者中序与先序,构造二叉树
- 已知中序与后序,或者中序与先序,构造二叉树
- 已知前序和中序、后序和中序建立二叉树
- 已知二叉树的后序和中序排列,求先序排列再线索化的问题(笔试常考)
- LRU Cache
- win8.1下解决VC6.0不兼容问题
- ExtJs4.x动态添加组件无法正常显示问题
- RabbitMQ基础概念详细介绍
- 程序员赚钱的头脑
- 二叉树学习-已知中序、后序,求先序
- openCV 在vc2008中的配置方法
- cin.get和cin.getline在读取一整行时的区别
- 关于性能测试模型的探讨(转)
- hdu 1695 GCD(组合数学:容斥原理)
- BCBTGifImage显示GIF动画
- poj2240 Arbitrage(floyd)
- 灰度公式
- 主线程中的handle问题