#588. 中缀表达式

中缀表达式

题目描述

给定一个句法二叉树,请你输出相应的中缀表达式,并利用括号反映运算符的优先级。

输入格式

第一行包含整数 NN 表示二叉树的总结点个数。

接下来 NN 行,每行以下列格式给出一个结点的信息(第 ii 行对应于第 ii 个结点):

data left_child right_child

其中 data 是一个长度不超过 10 的字符串,left_childright_child 分别是该结点的左右子结点编号。

所有结点编号从 11NNNULLNULL1-1 表示。

以下两个图分别对应样例1和样例2。

11.JPG 222.JPG

输出格式

请在一行输出中缀表达式,并利用括号反映运算符的优先级。

注意,不能有多余括号,请任何符号之间不得有空格。

数据范围

1N201≤N≤20

输入样例1:

8
* 8 7
a -1 -1
* 4 1
+ 2 5
b -1 -1
d -1 -1
- -1 6
c -1 -1

输出样例1:

(a+b)*(c*(-d))

输入样例2:

8
2.35 -1 -1
* 6 1
- -1 4
% 7 8
+ 2 3
a -1 -1
str -1 -1
871 -1 -1

输出样例2:

(a*2.35)+(-(str%871))