#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct Node{
int val;
struct Node* left;
struct Node* right;
}Node;
Node* createTree(char *s);
void preOrder(Node *root);
int main(){
char s[15]="123###4#5##";
Node* tree=createTree(s);
preOrder(tree);
return 0;
}
int where=0;
Node* createTree(char *s){
Node *root;
if(where==strlen(s)){
return NULL;
}
char ch=s[where];
if(ch=='#'){
where++;
return NULL;
}else{
root=(Node *)malloc(sizeof(Node));
root->val=s[where++]-'0';
root->left=createTree(s);
root->right=createTree(s);
}
return root;
}
void preOrder(Node *root){
if(root==NULL){
return ;
}
printf("%d ",root->val);
preOrder(root->left);
preOrder(root->right);
}