题解 | 二叉树遍历

二叉树遍历

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

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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