P1305 新二叉树(洛谷题面)
题目
题目描述:
输入一串二叉树,输出其前序遍历。
输入格式:
第一行为二叉树的节点数 n。(1≤n≤26)
后面 n 行,第一个字母为节点,后两个字母分别为其左右儿子。特别地,数据保证第一行读入的节点必为根节点。
空节点用 * 表示
输出格式:
二叉树的前序遍历。
数据范围与说明:
输入输出样例 #1
输入:
1 2 3 4 5 6 7
| 6 abc bdi cj* d** i** j**
|
输出:
代码
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; }
|