难度:普及-
题目类型:树形结构
提交次数:1
涉及知识:二叉树
题目描述
输入一串完全二叉树,用遍历前序打出。
输入输出格式
输入格式:
第一行为二叉树的节点数n。
后面n行,每一个字母为节点,后两个字母分别为其左右儿子。
空节点用*表示
输出格式:
前序排列的完全二叉树
代码:
1 #include<iostream> 2 using namespace std; 3 char a[100010][3]; 4 int n; 5 void build(char x){ 6 if(x=='*') return; 7 for(int i = 0; i<n; i++) 8 if(a[i][0]== x){ 9 cout<<a[i][0]; 10 build(a[i][1]); 11 build(a[i][2]); 12 } 13 } 14 int main(){ 15 cin>>n; 16 for(int i = 0; i < n; i++) 17 for(int j = 0; j < 3; j++) 18 cin>>a[i][j]; 19 build(a[0][0]); 20 return 0; 21 }
备注:
吼吼吼,虽说这道题是个水题,可这种完全自己写,而且写一遍就对了交一遍就过了的情况真不是很多。。还是想表扬一下自己。可能是因为在回来的地铁上看了看FBI树和求先序排列这两道题……
老师对我真是太好了,我真的应该争口气orz,不让看好我的人失望。不玩手机了不看电视剧了不划水了,我要好好刷题,保二争一。
问问自己:“你真的足够努力了吗?”