文章
121
粉丝
0
获赞
258
访问
15.7k
#include<iostream>
using namespace std;
struct tr{
char c;
tr *l,*r;
};
void print(tr *t)
{
if(t==nullptr)
return;
print(t->l),print(t->r);
cout<<t->c;
}
void create(tr* &t,string lift,string mid)
{
if(lift.size()==0)
{
t=nullptr;
return;
}
t=new tr;
char c=lift[0];
t->c=c;
int index=mid.find(c);
string mid_l=mid.substr(0,index);
string mid_r=mid.substr(index+1);
string lift_l=lift.substr(1,mid_l.size());
string lift_r=lift.substr(lift.size()-mid_r.size());
create(t->l,lift_l,mid_l),create(t->r,lift_r,mid_r);
}
string pre,order;
int main()
{
while(cin>>pre>>order)
{
tr *t;
create(t,pre,order);
print(t);
puts("");
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发