卡在第五个数据点最后三位应该是jab解果输出jba
试了一下发现所有j对应的子节点都会乱掉,求助!
#include<bits/stdc++.h>
using namespace std;
int aright[30],aleft[30],alast[30]={},vis[30]={},n,t1,t2,t3,num=0;
char in[30][3];
void dfs(int x)
{
if(x==-54) return;
if(num==n) return;
printf("%c",x-1+'a');
num++;
dfs(aright[x]);
dfs(aleft[x]);
}
int main()
{
int p;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>in[i];
t1 = in[i][0] - 'a' + 1;
t2 = in[i][1] - 'a' + 1;
t3 = in[i][2] - 'a' + 1;
vis[t1]=1;
aright[t1] = t2, aleft[t1] = t3;
alast[t2] = t1 , alast[t3] = t1;
}
for(int i=1;i<=30;i++)
{
if(alast[i]==0&&vis[i]==1) p=i;
}
dfs(p);
// cout<<aright[4];
}