你需要在代码中记录下每个节点的中缀表达式,并在计算完毕后输出。
可以使用一个栈来存储每个节点的中缀表达式。具体地,对于当前访问到的节点,如果它是叶子节点,则将其数值压入栈中;否则,先将左括号压入栈中,然后递归访问左右子树,并将当前运算符压入栈中。最后,在右子树访问结束后,再将右括号压入栈中。
例如,对于样例输入2 + 3 * ( 5 - 1 ) #,所构建出的二叉树如下图所示:
+
/ \
2 *
/ \
3 -
/ \
5 1
按照上述方法处理该二叉树,得到以下结果:
(2+(3*(5-1)))
这个字符串即为该二叉树的中缀表达式。你需要在计算完毕后输出该字符串。
修改后的代码如下:




