题目描述
输入一串二叉树,用遍历前序打出。
输入输出格式
输入格式:第一行为二叉树的节点数n。(n \leq 26n≤26 )
后面n行,每一个字母为节点,后两个字母分别为其左右儿子。
空节点用*表示
输出格式:前序排列的二叉树
直接用了节点数组保存节点信息。0位置为根节点,1为左儿子,2为右儿子。
#include<iostream>
using namespace std;
char node[30][3];
int n;
void print(char x)
{
if (x == '*') return;
for (int i = 1; i <= n; i++)
{
if (x == node[i][0])
{
cout << node[i][0];
print(node[i][1]);
print(node[i][2]);
break;
}
}
}
int main()
{
//freopen("1.txt", "r", stdin);
cin >> n;
for (int i = 1; i <= n; i++)cin >> node[i];
print(node[1][0]);
return 0;
}