【题解】P1305 新二叉树
P1305 新二叉树(洛谷题面)
题目
题目描述:
输入一串二叉树,输出其前序遍历。
输入格式:
第一行为二叉树的节点数 。($1 \leq n \leq 26$)
后面 行,第一个字母为节点,后两个字母分别为其左右儿子。特别地,数据保证第一行读入的节点必为根节点。
空节点用 * 表示
输出格式:
二叉树的前序遍历。
数据范围与说明:
输入输出样例 #1
输入:
6
abc
bdi
cj*
d**
i**
j**
输出:
abdicj
代码
#include <bits/stdc++.h>
using namespace std;
struct programmer{
char lc;
char rc;
}lt[130];
char h,h1;
void d(char x){
if(x=='*'){
return;
}
cout<<x;
d(lt[x].lc);
d(lt[x].rc);
}
int main(){
int n;
scanf("%d",&n);
cin>>h1;
cin>>lt[h1].lc;
cin>>lt[h1].rc;
for(int i=2;i<=n;i++){
cin>>h;
cin>>lt[h].lc;
cin>>lt[h].rc;
}
d(h1);
return 0;
}