#include<stdio.h>
#include<stdlib.h>
typedef struct node//节点
{
struct node *left;
char cl;
char a;
char cr;
struct node *right;
}Node;
void check2(Node *p)
{
printf("%c",p->a);
if(p->left!=NULL)
check2(p->left);
if(p->right!=NULL)
check2(p->right);
return;
}
int main()
{
int n=0;
scanf("%d",&n);
Node *a[n];
for(int i=0;i<n;i++)
{
char c[3];
scanf("%s",&c);
Node *p=(Node *)malloc(sizeof(Node));
p->a=c[0],p->cl=c[1],p->cr=c[2];
a[i]=p;
}
for(int i=0;i<n;i++)
{
Node *p=a[i];
if(p->cl=='*')
{
p->left=NULL;
}
if(p->cr=='*')
{
p->right=NULL;
}
for(int j=0;j<n;j++)
{
if(p->cl==a[j]->a)
{
p->left=a[j];
}
if(p->cr==a[j]->a)
{
p->right=a[j];
}
}
}
check2(a[0]);
return 0;
}
如题