【发布时间】:2013-11-26 15:40:41
【问题描述】:
我有一个二叉树构造函数,它将在字符串中使用前缀符号并最终打印出如下内容:
|-- *
|-- 2
|-- +
|-- 4
|-- +
|-- 6
|-- 7
这棵树的前缀表示法是:(* 2 (+ 4 (+ 6 7))) 该值应该是:2*17 = 34。我知道在计算这些树时会使用堆栈,但我不知道如何去做。
我的想法是有两个堆栈。一种用于运算符,一种用于操作数。放入两个操作数时,取出最后一个操作数,新的操作数放在哪里?
另外,我需要使用上面的树,并返回一个后缀、中缀和前缀表示法。每次我尝试这样做时,它都会吐出一个前缀符号。
【问题讨论】:
标签: java recursion binary-tree expression-trees