码迷,mamicode.com
首页 > 其他好文 > 详细

蓝桥 - 求先序排列(知中序和后序求先序)

时间:2020-03-28 18:08:30      阅读:453      评论:0      收藏:0      [点我收藏+]

标签:ace   using   debug   cout   bad   不同   namespace   ons   bit   

 

Description

给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<=8)。

Input

两行,每行一个字符串,分别表示中序和后序排列

Output

一个字符串,表示所求先序排列

Sample Input

BADC
BDCA

Sample Output

ABCD

 

 

 1 #include <bits/stdc++.h>
 2 const int INF=0x3f3f3f3f;
 3 typedef long long LL;
 4 const double eps =1e-8;
 5 const int mod=1e9+7;
 6 const int maxn=1e5+10;
 7 using namespace std;
 8 
 9 string a;
10  
11 void solve(string b,string c)
12 {
13     string b1,b2,c1,c2;
14     int lenb=b.size();
15     int lenc=c.size();
16     a+=c[lenc-1];
17     int pos=b.find(c[lenc-1],0);
18     b1=b.substr(0,pos);
19     b2=b.substr(pos+1,(lenb-pos-1));
20     c1=c.substr(0,pos);
21     c2=c.substr(pos,(lenb-pos-1));
22     if(b1.size()&&c1.size()) solve(b1,c1);
23     if(b2.size()&&c2.size()) solve(b2,c2);
24 }
25  
26 int main()
27 {
28     #ifdef DEBUG
29     freopen("sample.txt","r",stdin);
30     #endif
31     
32     string b,c;
33     cin>>b>>c;
34     solve(b,c);
35     cout<<a<<endl;
36      
37     return 0;
38 }

 

 

 

 

-

蓝桥 - 求先序排列(知中序和后序求先序)

标签:ace   using   debug   cout   bad   不同   namespace   ons   bit   

原文地址:https://www.cnblogs.com/jiamian/p/12578709.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!