题目:
先输入中序遍历后输入层序遍历,输出先序遍历
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<map>
#include<queue>
using namespace std;
string a,b;
void dfs(int l1,int r1,int l2,int r2)
{
int i,j;
for(i=l2;i<=r2;i++)
{
int flag=0;
for(j=l1;j<=r1;j++)
{
if(b[i]==a[j])
{
cout<<a[j];
flag=1;
break;
}
}
if(flag)
break;
}
if(j>l1) dfs(l1,j-1,0,r2);
if(j<r1) dfs(j+1,r1,0,r2);
}
int main()
{
while(cin>>a>>b)
{
dfs(0,a.size()-1,0,b.size()-1);
cout<<endl;
}
return 0;
}