文章
2
粉丝
0
获赞
4
访问
179
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;
struct node{
char data;
node*left;
node *right;
};
using BitTree = node*;
void addToBitTree(BitTree& t, char c, string in){
if(!t){
t = new node;
t->data =c ;
t->left = nullptr;
t->right = nullptr;
}else{
if(in.find(c)<in.find(t->data)){
addToBitTree(t->left, c, in);
}else{
addToBitTree(t->right, c, in);
}
}
}
void postOrderTraverse(BitTree t){
if(t){
postOrderTraverse(t->left);
postOrderTraverse(t->right);
cout<<t->data;
}
}
int main()
{
string pre, in;
while(cin>>pre>>in){
BitTree t = nullptr;
for(auto c:pre){
addToBitTree(t, c, in);
}
postOrderTraverse(t);
cout&l...
登录后发布评论
暂无评论,来抢沙发