洛谷-新二叉树python
P1305 新二叉树
题目描述
输入一串二叉树,输出其前序遍历。
输入格式
第一行为二叉树的节点数 n n n。( 1 ≤ n ≤ 26 1 \leq n \leq 26 1≤n≤26)
后面 n n n 行,每一个字母为节点,后两个字母分别为其左右儿子。特别地,数据保证第一行读入的节点必为根节点。
空节点用 *
表示
输出格式
二叉树的前序遍历。
输入输出样例 #1
输入 #1
6
abc
bdi
cj*
d**
i**
j**
输出 #1
abdicj
def pre(root):
if root == '*':
return ''
result = root
left,right = tree[root]
result += pre(left)
result += pre(right)
return result
n = int(input())
tree = {}
for i in range(n):
node,left,right = input().strip()
tree[node] = (left,right)
root = next(iter(tree.keys()))
print(pre(root))