P1305 新二叉树(洛谷题面

题目

题目描述:

输入一串二叉树,输出其前序遍历。

输入格式:

第一行为二叉树的节点数 nn。(1n261 \leq n \leq 26)

后面 nn 行,第一个字母为节点,后两个字母分别为其左右儿子。特别地,数据保证第一行读入的节点必为根节点。

空节点用 * 表示

输出格式:

二叉树的前序遍历。

数据范围与说明:

输入输出样例 #1

输入:

1
2
3
4
5
6
7
6
abc
bdi
cj*
d**
i**
j**

输出:

1
abdicj

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#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;
}