#include <iostream>
#include <string>
using namespace std ;
void Tree (string, string) ;
string a, b ;
int main ()
{
getline >> a ;
getline >> b ;
Tree (a, b) ;
cout << endl ;
return 0 ;
}
void Tree (string A,string B)
{
if (A . size () > 0)
{
char C = B [B . size () - 1] ;
cout << C ;
int k = A . find (C) ;
Tree (A . substr (0, k), B . substr (0, k)) ;
Tree (A . substr (k + 1), B . substr (k, A . size () - k - 1)) ;
}
}
这份代码逻辑上没有错误,但还是全WA,为什么?
后来,我将getline改为cin 代码如下:
#include <iostream>
#include <string>
using namespace std ;
void Tree (string, string) ;
string a, b ;
int main ()
{
cin >> a ;
cin >> b ;
Tree (a, b) ;
cout << endl ;
return 0 ;
}
void Tree (string A,string B)
{
if (A . size () > 0)
{
char C = B [B . size () - 1] ;
cout << C ;
int k = A . find (C) ;
Tree (A . substr (0, k), B . substr (0, k)) ;
Tree (A . substr (k + 1), B . substr (k, A . size () - k - 1)) ;
}
}
这就AC。
???难道getline有bug?
求指点,以帮助和我一样因此奋斗的小伙伴