代码如下 问题:
#include<iostream>//用cin,cout
#include<cstring>//用getchar()
using namespace std;//命名空间
struct node{//储存树
char l,r;//左子树和右子树的字符
}tree[200];//节点储存在下标为[该节点的ASCII码]的位置
void dfs(int data){
if(data=='*')return;//为空就返回
cout<<(char)(data);//输出答案
dfs(tree[data].l);//遍历左子树
dfs(tree[data].r);//遍历右子树
}
int main(){//主程序
int n;//节点数
cin>>n;//输入节点数
getchar();//吃掉 节点数 后面的空格,
//因为下面循环里的getchar会读取回车
char ro,ld,rd,frot;//当前节点,左子,右子,根节点
for(int i=1;i<=n;i++){
ro=getchar(),ld=getchar(),rd=getchar();
//读入 当前节点,左子,右子
getchar();//吃掉每一行后边的回车
if(i==1)frot=ro;//第一次输入的是根节点
tree[ro].l=ld,tree[ro].r=rd;//赋值给tree的[当前节点ASCII码]
}
dfs(frot);//递归输出
return 0;//结束
}
#1 MLE
#2 MLE
#3 MLE
#4 MLE
#5 MLE
#6 MLE
#7 MLE
#8 MLE
#9 MLE
#10MLE