题解 | #二叉树遍历#

二叉树遍历

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;
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务