题目描述
输入一串二叉树,用遍历前序打出。
输入输出格式
输入格式:第一行为二叉树的节点数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; }