题解 | #二叉树遍历#
二叉树遍历
https://www.nowcoder.com/practice/4b91205483694f449f94c179883c1fef
#include <stdio.h>
#include <stdlib.h>
typedef struct root
{
struct root* left;
struct root* right;
char val;
}root;
//中序遍历二叉树
void root_parent(root* root1)
{
if (root1 == NULL)
{
return;
}
root_parent(root1->left);
printf("%c ",root1->val);
root_parent(root1->right);
}
//前序创建二叉树
root* root_malloc(char* a,int* pi)
{
if (a[*pi] == '#')
{
(*pi)++;
return NULL;
}
root* newnode=(root*)malloc(sizeof(root));
newnode->val=a[(*pi)++];
newnode->left = root_malloc(a,pi);
newnode->right = root_malloc(a,pi);
return newnode;
}
int main()
{
char arr[100];
scanf("%s",arr);
int i=0;
root* ret = root_malloc(arr,&i);
root_parent(ret);
return 0;
}
解析我放这里,点击链接直接观看
https://blog.csdn.net/Jason_from_China/article/details/139239367
