3020: 【普及-】【P1305】新二叉树
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:2
解决:2
题目描述
输入一串二叉树,输出其前序遍历。
输入
第一行为二叉树的节点数 。()
后面 行,每一个字母为节点,后两个字母分别为其左右儿子。特别地,数据保证第一行读入的节点必为根节点。
空节点用 * 表示
输出
二叉树的前序遍历。
样例输入 复制
6
abc
bdi
cj*
d**
i**
j**
样例输出 复制
abdicj
提示
#include<bits/stdc++.h>
using namespace std;
struct node {
char l,r;
}tree[150];
void dfs(char pos) {
cout << pos;
if (tree[pos].l != '*') dfs(tree[pos].l);
if (tree[pos].r != '*') dfs(tree[pos].r);
}
int main(){
int n;
char a,l,r,bg;
cin >> n;
cin >> bg >> l >> r;
tree[bg].l = l;
tree[bg].r = r;
for (int i=1 ;i < n;i++) {
cin >> a >> l >> r;
tree[a].l = l;
tree[a].r = r;
}
dfs(bg);
return 0;
}