【发布时间】:2014-08-31 23:24:48
【问题描述】:
我有一些字符串需要按照以下模式进行评估 -
Input => String testTree = "(1(2(4)())(3))";
Output => {1,2,3,4,*,*,*}
Input => String testTree2 = "(1(2(4)(5))(3()(4()(3))))";
Output => {1,2,3,4,5,*,4,*,*,*,*,*,*,*,3}
Input => String testTree3 = "(1()())";
Output =>{1,*,*}
上面提到的输入具有相同的模式,其中'()'或null表示为'*'。输出被保存到一个int/string数组,因此输出形式是这样的。
请建议一种方法来评估这种模式的输出形式。
【问题讨论】:
-
为什么添加
binary-tree标签? -
这个问题是二叉树生成的一部分,如果仔细观察输入情况是一种二叉树字符串表示法,输出是输入的水平形式。
-
可以使用栈吗?
-
这里不需要创建二叉树,只是我想使用某种逻辑评估输入到输出,也可以硬编码。
标签: java design-patterns binary-tree expression-evaluation