美文网首页
2020-07-13 新二叉树

2020-07-13 新二叉树

作者: JalorOo | 来源:发表于2020-07-13 21:49 被阅读0次

题目:https://www.luogu.com.cn/problem/P1305

#include<cstdio>
#include<cstring>
#include<cmath>
#include <iostream>
#include<algorithm>
using namespace std;

struct node{
    int l = -1;
    int r = -1;
};

int read(){
    int x=0,f=1;
    char c = getchar();
    while(c<'0'||c>'9'){//符号位
        if(c=='-')
            f=-1;
        c = getchar();
    }
    while(c>='0'&&c<='9'){//数字
        x = x*10 + c -'0';
        c=getchar();
    }
    return x*f;
}

node map[30];

void PreOrder(int start){
    if (start>=0) {
        //printf("%d\n",start);
        char ans = 'a' + start;
        printf("%c",ans);
        PreOrder(map[start].l);
        PreOrder(map[start].r);
    }
}

int start;
string str;
int main()
{
    int n = read();
    for (int i = 1 ; i <= n; i++) {
        cin>>str;
        if (i==1) {//记录根节点
            start = (str[0]-'a');
        }
        if (str[1]!=0) {//左儿子
            map[ (str[0]-'a') ].l = (str[1]-'a');
        }
        if (str[2]!=0) {//右儿子
            map[ (str[0]-'a') ].r = (str[2]-'a');
        }
    }
    //二叉树的前序遍历
    PreOrder(start);
    return 0;
}
/*
6
abc
bdi
cj*
d**
i**
j**
*/

相关文章

网友评论

      本文标题:2020-07-13 新二叉树

      本文链接:https://www.haomeiwen.com/subject/kpozcktx.html