大会员可查看代码,点此开通大会员
#include<bits/stdc++.h>
using namespace std;
typedef struct node{
char data;
struct node *lchild,*rchild;
}*BitTree;
string s;
int len;
void CreatBitTree(BitTree &T){
if(len==s.size())
return;
char c=s[len++];
if(c=='#') T==NULL;
else{
T=new node;
T->data=c;
T->lchild=NULL;
T->rchild=NULL;
CreatBitTree(T->lchild);
CreatBitTree(T->rchild);
}
}
void PreOrderTraverse(BitTree T){
if(T!=NULL){
cout << T->data << ' ';
PreOrderTraverse(T->lchild);
PreOrderTraverse(T->rchild);
}
}
void InOrderTraverse(BitTree T){
if(T!=NULL){
InOrderTraverse(T->lchild);
cout << T->data << ' ';
InOrderTraverse(T->rchild);
}
}
int main(){
while(cin>>s){
len=0;
BitTree T;
CreatBitTree(T);
InOrderTraverse(T);
cout << endl;
}
}