SDUT 1489 已知中序后序二叉树的先序,深度
2015-10-30 21:08
429 查看
求二叉树的先序遍历
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
已知一棵二叉树的中序遍历和后序遍历,求二叉树的先序遍历输入
输入数据有多组,第一行是一个整数t (t<1000),代表有t组测试数据。每组包括两个长度小于50 的字符串,第一个字符串表示二叉树的中序遍历序列,第二个字符串表示二叉树的后序遍历序列。输出
输出二叉树的先序遍历序列示例输入
2 dbgeafc dgebfca lnixu linux
示例输出
abdegcf xnliu
提示
来源
GYX示例程序
#include<bits/stdc++.h> using namespace std; char s[100]; char s1[100],s2[100]; struct node { char c; node *lnext,*rnext; }*root; node* Creat() { node *p=new node; p->lnext=NULL; p->rnext=NULL; return p; } node * Build(node* p,int l,int r,int ind) //要有返回值 { int i; int flag=0; for(i=l;i<=r;i++) { if(s1[i]==s2[ind]) { flag=1; break; } } if(flag==0) //防止找到最后了 return 0; p=Creat(); p->c=s1[i]; p->lnext=Build(p->lnext,l,i-1,ind-1-(r-i)); //左子树 p->rnext=Build(p->rnext,i+1,r,ind-1); //右子树 return p; } int Front(node *p) { if(p) { printf("%c",p->c); Front(p->lnext); Front(p->rnext); } } int main() { int T; while(~scanf("%d",&T)) { while(T--) { scanf("%s%s",s1,s2); int len=strlen(s1); root=Creat(); root=Build(root,0,len-1,len-1); Front(root); printf("\n"); } } }
#include<bits/stdc++.h>//求深度 using namespace std; char s[100]; char s1[100],s2[100]; int Max; struct node { char c; node *lnext,*rnext; }*root; node* Creat() { node *p=new node; p->lnext=NULL; p->rnext=NULL; return p; } node* Build(node* p,int l,int r,int ind) { int i; int flag=0; for(i=l;i<=r;i++) { if(s1[i]==s2[ind]) { flag=1; break; } } if(flag==0) return 0; p=Creat(); p->c=s1[i]; p->lnext=Build(p->lnext,l,i-1,ind-1-(r-i)); p->rnext=Build(p->rnext,i+1,r,ind-1); return p; } int Front(node *p,int ans) { if(!p) return 0; if(Max<ans) Max=ans; if(p) { //printf("%c",p->c); Front(p->lnext,ans+1); Front(p->rnext,ans+1); } } int main() { int T; while(~scanf("%d",&T)) { while(T--) { Max=-1; scanf("%s%s",s1,s2); int len=strlen(s1); root=Creat(); root=Build(root,0,len-1,len-1); Front(root,1); cout<<Max<<endl; } } }
相关文章推荐
- 解决IE9 IE8的跨域 请求问题
- 第6章 接口和实现
- Linux rpm 命令参数使用详解[介绍和应用]
- Swift - 图像控件(UIImageView)的用法
- Redis实现分布式存储
- 关于测试方面一些版本控制及管理工具的安装及使用
- 阿里“三活”数据中心实践经验:没人能做,我们就自己做
- HDU 4609 3-idiots
- [Django后台管理系统]激活Django自带的管理界面
- LeetCode Shortest Palindrome
- 二进制中1的个数
- 零基础ios开发(七 字符串和动态数组的联合使用)
- java设计模式---桥接模式
- json中的数组操作
- codeforces Inna and Huge Candy Matrix
- cnblogs技术知识共享
- This application is modifying the autolayout engine from a background thread, which can lead to engi
- MFC CTreeCtr 鼠标扫过显示备注信息,双击某一节点弹出对话框
- JavaScript 匿名函数(anonymous function)与闭包(closure)
- 151030