#include <stdio.h> #include<stdlib.h> struct TreeNode { char val; struct TreeNode* left; struct TreeNode* right; }; struct TreeNode* CreatTree(char* arr, int* sz) { struct TreeNode* root = (struct TreeNode*)malloc(sizeof(struct TreeNode)); if (arr[*sz] == '#') { return NULL; } root->val = arr[(*sz)++]; root->left = CreatTree( arr, sz); (*sz)++; root->right = CreatTree(arr, sz); return root; } void PastTree(struct TreeNode* tmp) { if (tmp == NULL) { //printf("# "); return; } PastTree(tmp->left); printf("%c ", tmp->val); PastTree(tmp->right); } int main() { char arr[100] = ""; scanf("%s", arr); int sz = 0; struct TreeNode* tmp = CreatTree(arr, &sz); PastTree(tmp); return 0; }