题解 | #二叉树遍历#

二叉树遍历

https://www.nowcoder.com/practice/4b91205483694f449f94c179883c1fef

#include <stdio.h>
#include<stdlib.h>
#include<assert.h>
typedef char BTDataType;

typedef struct BinaryTreeNode
{
	BTDataType _data;
	struct BinaryTreeNode* _left;
	struct BinaryTreeNode* _right;
}BTNode;
BTNode* BinaryTreeCreate(char*a,int*p)
{
	if (a[*p] == '#')
	{
		(*p)++;
		return NULL;
	}
	BTNode* root = (BTNode*)malloc(sizeof(BTNode));
	if (root == NULL)
	{
		perror("malloc fail");
		exit(-1);
	}
	root->_data = a[(*p)++];
	root->_left = BinaryTreeCreate(a, p);
	root->_right = BinaryTreeCreate(a, p);
	return root;
}
void BinaryTreeInOrder(BTNode* root)
{
	if (root == NULL)
		return;
	BinaryTreeInOrder(root->_left);
	printf("%c ", root->_data);
	BinaryTreeInOrder(root->_right);
}
int main()
{
    	char a[100];
        scanf("%s",a);
        int i = 0;
        BTNode* root = BinaryTreeCreate(a,&i);
        BinaryTreeInOrder(root);


}

全部评论

相关推荐

07-13 21:50
门头沟学院 Java
点赞 评论 收藏
分享
已注销:再接着投吧项目经历太流水账,且没有实习经历,我之前也是这样,后来跟着大厂导师修改了项目和简历之后成功上岸,有需要可以问我
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务