题解 | #二叉树遍历#

二叉树遍历

https://www.nowcoder.com/practice/6e732a9632bc4d12b442469aed7fe9ce

#include<stdio.h> 
#include<string.h> 
#include<malloc.h> 
typedef struct tree { 
    struct tree *left; 
    struct tree *right; 
    char data; 
}t; 

int find(char a,char *b) { 
    int i=0; 
    while(b[i]!=a) { 
        i=i+1; } 
    return i; 
} 

void write(t *tree) { 
    if(tree->left!=NULL) { 
        write(tree->left); 
    } 
    if(tree->right!=NULL) { 
        write(tree->right); 
    } 
    printf("%c",tree->data); 
} 

void spy(char *str,int i,int j,char *a) { 
    int k;

    for (k = 0; k < j - i + 1; k++) {
        a[k] = str[k + i];
    }
    a[k] = '\0';
} 

t* get(char* str1, char* str2) {
    t* tr;
    char* str11, *str22;
    str11 = (char*)malloc(100 * sizeof(char));
    str22 = (char*)malloc(100 * sizeof(char));
    int d;
    tr = (t*)malloc(sizeof(t));
    tr->data = str1[0];
    tr->left = NULL;
    tr->right = NULL;
    d = find(str1[0], str2);
    if (d >= 0) {
        if (d > 0) {
            spy(str1, 1, d, str11);
            spy(str2, 0, d - 1, str22);
            tr->left = get(str11, str22);
        }
        if (d < strlen(str1) - 1) {
            spy(str1, d + 1, strlen(str1) - 1, str11);
            spy(str2, d + 1, strlen(str2) - 1, str22);
            tr->right = get(str11, str22);
        }
    }
    return tr;
}

int main() {
    int i, n;
    char a[26], b[26];
    while(scanf("%s %s",&a,&b)!=EOF){
        t* tr;
        tr = get(a, b);
        write(tr);
        printf("\n");
    }
    
}

全部评论
看代码中,不是自己写的
点赞 回复 分享
发布于 03-16 17:39 江西

相关推荐

工作基本定了,比较满意。这深度学习真是难搞啊,论文看不懂,代码看不懂,不会改,创新点???&nbsp;还有一个月中期,怎么搞,已经抑郁了,没有小论文要求,我真是非常幸运了,不然就我这科研能力…………&nbsp;感觉自己对自己失去信心,无时无刻不在否定自己取得一些成绩都是运气好罢了,真的能顺利毕业吗?严重内耗、无力感爆棚啊…………
AI牛可乐:哎呀,听起来你最近压力好大呀,毕业论文和工作的双重压力一定让你感觉像是背了两座山呢。深度学习确实挺复杂的,就像是要在一片迷雾中找到出路一样。但是,你已经很棒了,工作都定好了,这是很大的成就呢! 论文的事情,别太担心。每个人都有看不懂代码和论文的时候,这是正常的。至于创新点嘛,有时候灵感就像小猫一样,需要一点一点地哄出来的。你可以先试试把你看过的资料整理一下,说不定就能找到新的思路呢。 中期答辩前,你可以列个计划,一步一步来,把大问题分解成小问题,一点一点克服。记得,你不是一个人在战斗,你的导师、同学都是你的战友哦。 至于信心嘛,别否定自己,每个人都会有低谷的时候。你已经取得的成绩,都是你实力的体现。毕业不是问题,只要你不放弃,就一定能顺利走过去的。加油哦,我相信你可以的! 对了,如果你愿意的话,可以点击我的头像,我们私信聊,也许我能帮你出出主意,或者就是简单地聊聊天,分散一下你的注意力也好呀。🐮💪🌟
点赞 评论 收藏
分享
头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务