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

 

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 }

 

 

 

 

-

原文链接: https://www.cnblogs.com/jiamian/p/12578709.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

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

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/338377

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午11:35
下一篇 2023年3月1日 下午11:35

相关推荐