题解 | 二叉树遍历
二叉树遍历
https://www.nowcoder.com/practice/4b91205483694f449f94c179883c1fef
#include <stdio.h>
#include <stdlib.h>
typedef struct BtreeNode
{
char val;
struct BtreeNode* left;
struct BtreeNode* right;
}BtNode;
BtNode* create(char* a,int* pi)
{
if(a[*pi]=='#')
{
(*pi)++;
return NULL;
}
BtNode* node=(BtNode*)malloc(sizeof(BtNode));
node->val=a[(*pi)++];
node->left=create(a,pi);
node->right=create(a,pi);
return node;
}
void Ino(BtNode* root)
{
if(root==NULL)
{
return;
}
Ino(root->left);
printf("%c ",root->val);
Ino(root->right);
}
int main() {
char a[100]={0};
for(int m=0;m<100;m++)
{
scanf("%c",&a[m]);
}
int i=0;
Ino(create(a,&i));
return 0;
}
查看22道真题和解析