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
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!