poj 2255——Tree Recovery
2014-07-23 10:47
288 查看
题意:给出二叉树的先序与中序遍历,求后序遍历
代码如下:
代码如下:
#include<iostream> #include<cstdio> #include<cstring> using namespace std; bool vis[30]; string pre,in; void dfs(int nowpre) { if(nowpre>=pre.size())return; if(vis[pre[nowpre]-'A'])return; vis[pre[nowpre]-'A']=1; for(int i=0;i<in.size();++i) { if(pre[nowpre]==in[i]) { int j; for(j=0;j<i;++j) { if(!vis[in[j]-'A'])break; } int len=i-j; for(j=i+1;j<pre.size();++j) { if(vis[in[j]-'A'])break; } int lenr=j-i-1; if(len>0) dfs(nowpre+1); if(lenr>0) {dfs(nowpre+1+len);} break; } } printf("%c",pre[nowpre]); } int main() { //freopen("data.txt","r",stdin); while(cin>>pre>>in) { memset(vis,false,sizeof(vis)); dfs(0); printf("\n"); } return 0; }
相关文章推荐
- POJ 2255 Tree Recovery
- POJ 2255 Tree Recovery
- poj 2255 Tree Recovery
- POJ 2255-Tree Recovery
- poj - 2255 Tree Recovery
- poj2255 Tree Recovery
- POJ_2255_Tree Recovery
- poj2255 Tree Recovery(先序+中序→后序)
- POJ 2255 Tree Recovery
- POJ 2255 Tree Recovery
- POJ 2255 Tree Recovery 解题心得
- POJ 2255 Tree Recovery
- poj2255 Tree Recovery
- poj 2255 Tree Recovery (由先序和中序建树)
- POJ 2255 Tree Recovery(二叉树)
- poj 2255 Tree Recovery
- Tree Recovery--POJ 2255
- POJ 2255 Tree Recovery
- poj-2255-Tree Recovery(tree)
- POJ 2255 Tree Recovery (二叉树遍历)