新人刚学二叉树,10分求调
查看原帖
新人刚学二叉树,10分求调
552610
__Shine__楼主2022/8/1 17:40
#include<bits/stdc++.h>
using namespace std;
int ans = 0;

struct T
{
    int ll ;
	int rr ;
    char v ;
}node[1000010];

void qxbl(int root2)
{
    printf("%c", node[root2].v);
    if (node[root2].ll != -1)
        qxbl(node[root2].ll);
    if (node[root2].rr != -1)
        qxbl(node[root2].rr);
}

int main()
{
    int n;
    cin >> n;
    int ff = 1, aa = 0;
    for (int i = 1; i <= n; i++)
    {
    	node[i].ll=-1,node[i].rr=-1,node[i].v='*';
        char root1, l, r;
        cin >> root1 >> l >> r;
        if (ff)
        {
            aa = root1 - 'a';
            ff = 0;
        }
        node[root1 - 'a'].v = root1;
        if (l != '*')
        {
            node[l - 'a'].v = l;
            node[root1 - 'a'].ll = l - 'a';
        }
        if (r != '*')
        {
            node[r - 'a'].v = r;
            node[root1 - 'a'].rr = r - 'a';
        }
    }
    qxbl(aa);
}

评测记录

2022/8/1 17:40
加载中...