P1305 新二叉树
题目描述
输入一串二叉树,用遍历前序打出。
输入输出格式
输入格式:
第一行为二叉树的节点数n。
后面n行,每一个字母为节点,后两个字母分别为其左右儿子。
空节点用*表示
输出格式:
前序排列的二叉树
输入输出样例
输入样例#1:
6 abc bdi cj* d** i** j**
输出样例#1:
abdicj
这道题其实很简单,在这里写下就是要让大家看一个简单的方法。(感谢javalyc童鞋)
1 #include <cstdio> 2 3 char a[100][3]; 4 int n; 5 6 void fff(char c) 7 { 8 if(c == '*') 9 return; 10 printf("%c", c); 11 for(int i=1; i<=n; i++) 12 if(a[i][0] == c) 13 { 14 fff(a[i][1]); 15 fff(a[i][2]); 16 } 17 } 18 19 int main() 20 { 21 scanf("%d", &n); 22 getchar(); 23 for(int i = 1; i<=n; i++) 24 scanf("%s", a[i]); 25 fff(a[1][0]); 26 return 0; 27 }