大会员可查看代码,点此开通大会员
#include<bits/stdc++.h>
using namespace std;
typedef struct node{
char data;
struct node *lchild,*rchild;
}*BitNode;
string s;
int len;
void createTree(BitNode &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;
createTree(T->lchild);
createTree(T->rchild);
}
}
void midOrderTraverse(BitNode &T){
if(T!=NULL){
midOrderTraverse(T->lchild);
cout<<T->data<<" ";
midOrderTraverse(T->rchild);
}
}
int main(){
while(cin>>s){
len=0;
BitNode T;
createTree(T);
midOrderTraverse(T);
cout<<endl;
}
return 0;
}