java - 模式评估器

标签 java design-patterns binary-tree expression-evaluation

我有一些字符串需要按照以下模式进行评估 -

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 数组中,因此输出形式如下。

请建议一种方法来评估这种模式的输出形式。

最佳答案

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

关于java - 模式评估器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25597165/

相关文章:

binary-tree - 为什么 O(N Log N) 构建二叉搜索树?

javascript - 如何在视觉上动态地重新定位二叉树节点

java - 什么是NullPointerException,我该如何解决?

java - 单击按钮将对象从一个类传递到另一个类

java - 在java中通过返回类型重载方法

language-agnostic - 哪些层应该使用领域模型?

c# - .Net 消息发布/订阅模式

java - 使用 ojalgo : Create Matrix from Array

c++ - 极简框架

c - 为什么交换二叉树节点时 GDB 观察点会停在不相关的行上?