#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct TreeNode {
char data;
struct TreeNode* lchild;
struct TreeNode* rchild;
}TreeNode;
// 前序建立二叉树 (中序,后序)
void createTree(TreeNode** T, char* data, int* index) {
char ch = data[*index];
*index += 1;
if (ch == '#') {
*T = NULL;
}
else {
*T = (TreeNode*)malloc(sizeof(TreeNode));
(*T)->data = ch;
createTree(&((*T)->lchild), data, index);
createTree(&((*T)->rchild), data, index);
}
}
// 中序遍历
void inOrder(TreeNode* T) {
if (T == NULL) return;
inOrder(T->lchild);
printf("%c ", T->data);
inOrder(T->rchild);
}
int main()
{
int index = 0;
char s[110];
scanf("%s", s);
TreeNode* T;
createTree(&T, s, &index);
inOrder(T);
return 0;
}