#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);
}
评测记录