1305 新二叉树

难度:普及-

题目类型:树形结构

提交次数: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,不让看好我的人失望。不玩手机了不看电视剧了不划水了,我要好好刷题,保二争一。

问问自己:“你真的足够努力了吗?”

原文地址:https://www.cnblogs.com/fangziyuan/p/5932690.html