【问题标题】:Pattern evaluater模式评估器
【发布时间】: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


【解决方案1】:

您可以使用Interpreter pattern 将输入读入二叉树类。

【讨论】:

    猜你喜欢
    • 2017-12-15
    • 2014-02-08
    • 1970-01-01
    • 2012-01-18
    • 2017-03-24
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    相关资源
    最近更新 更多