vijos P1132

vijos P1132_第1张图片

vijos P1132_第2张图片

 1 #include <iostream>
 2 #include <cstring>
 3 using namespace std;
 4 
 5 
 6 void preorder(string a1,string a2) 
 7 {
 8   
 9    cout<<a2[a1.size()-1];
10    
11    int n=0;
12    while (a1[n]!=a2[a1.size()-1]) {++n;}
13 
14 
15 
16 
17   if(n>0) {preorder( a1.substr(0,n), a2.substr(0,n) );}
18   
19   if(n<a1.size()-1) {preorder( a1.substr(n+1,a1.size()-n-1) , a2.substr(n,a1.size()-n-1) );}
20 
21 
22 }
23 
24 
25 int main()
26 {
27     string  s1,s2;
28     
29     cin>>s1;
30     cin>>s2;
31 
32 
33     preorder(s1,s2);
34 
35 return 0;
36 }

注意 两个if必须有 否则会导致崩溃

if(n>0) 
{preorder( a1.substr(0,n), a2.substr(0,n) );}
  
if(n<a1.size()-1) 
{preorder( a1.substr(n+1,a1.size()-n-1) , a2.substr(n,a1.size()-n-1) );}

你可能感兴趣的:(vijos P1132)