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; }