题解 | #二叉树遍历#

二叉树遍历

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

#include <stdio.h>
#include <stdlib.h>

typedef struct BinTree
{
    struct BinTree*left;
    struct BinTree*right;
    char val;
}BT;

BT* Creater_Tree(char* buff,int* pi)//递归构建二叉树
{
    if(buff[*pi]=='#')
    {
        (*pi)++;
        return NULL;
    }
    BT*Treenode = (BT*)malloc(sizeof(BT));
    Treenode->val = buff[(*pi)++];
    Treenode->left = Creater_Tree(buff,pi);
    Treenode->right = Creater_Tree(buff,pi);
    return Treenode;
}
void In_Post(BT*root)
{
    if(root==NULL)
        return;
    In_Post(root->left);
    printf("%c ",root->val);
    In_Post(root->right);
}
int main()
{
    int i = 0;
    char str[100];
    scanf("%s",str);
    BT*root = Creater_Tree(str,&i);
    In_Post(root);
    return 0;
}

#刷题#
全部评论

相关推荐

牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
拉丁是我干掉的:把上海理工大学改成北京理工大学。成功率增加200%
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务