题解 | #二叉树遍历#
二叉树遍历
https://www.nowcoder.com/practice/4b91205483694f449f94c179883c1fef
#include<stdio.h> #include<stdlib.h> typedef struct BTNode { char val;//note that this is a string struct BTNode* right; struct BTNode* left; }BTNode; BTNode* Creat(char* a, int* pi) { if (a[*pi] == '#') { (*pi)++; return NULL; } BTNode* root = (BTNode*)malloc(sizeof(BTNode)); root->val = a[(*pi)++]; root->left = Creat(a, pi); root->right = Creat(a, pi); return root; } void Inorder(BTNode* root) { if (root) { Inorder(root->left); printf("%c ", root->val); Inorder(root->right); } } int main() { char a[101]; scanf("%s", a); int count=0; BTNode* root = Creat(a, &count); Inorder(root); return 0; }