大会员可查看代码,点此开通大会员
#include <iostream>
using namespace std;
string s;
int n;
int i;
struct node{
char value;
node *left;
node *right;
};
node* creat(){
if(i == n){
return NULL;
}
char c = s[i++];
node *T;
if(c == '#'){
T = NULL;
}else{
T = (struct node*)malloc(sizeof(node));
T->value = c;
T->left = creat();
T->right = creat();
}
return T;
}
void MidOrderTra(node *root){
if(root != NULL){
MidOrderTra(root->left);
cout << root->value << " ";
MidOrderTra(root->right);
}
}
int main()
{
while(cin >> s){
i = 0;
n = s.size();
node *T = creat();
MidOrderTra(T);
cout << endl;
}
return 0;
}