社区讨论

新人刚学二叉树,10分求调

P1305新二叉树参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lo8evm38
此快照首次捕获于
2023/10/27 17:29
2 年前
此快照最后确认于
2023/10/27 17:29
2 年前
查看原帖
CPP
#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);
}

回复

1 条回复,欢迎继续交流。

正在加载回复...