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) );}
时间: 2024-10-12 13:17:31