从左括号字符串表示

时间:2016-04-04 07:38:55

标签: java

我需要从左侧括号表示构建一个正确的字母表示形式。基本上这意味着解析一个String输入,然后重建一个正确的括号表示。我需要实现两个方法:一个解析输入,一个从解析的输入创建所需的表示。这是我需要在java中做的功课的一部分。

代码如何测试:

  String s = "A(B1,C)";
  Node t = Node.parse (s);
  String v = t.rightParentheticRepresentation();
  System.out.println (s + " ==> " + v); // A(B1,C) ==> (B1,C)A

所以我需要实现2个方法:Node parse(String s)和String rightParentheticRepresentation()

我在理论上知道我知道如何继续这样做,但我正在努力实现解析方法。 我可以使用任何现有的实现吗?任何提示实现方法都是非常受欢迎的,或者如果有人知道从字符串表示构建树的任何好的教程。

1 个答案:

答案 0 :(得分:0)

首先,您应该了解要构建的数据结构。基本上你需要一个树,其中每个节点对应于一些括号内的内容(最初的父节点是隐含的 - '(' A(B1,C)')' - 在你的样品)。

对于解析方法:通过char读取输入String char。每当你遇到一个左括号时('你为当前节点创建一个子节点并将当前节点更改为新节点,然后开始填充它。当你遇到一个右括号时)#39;' ;您最终确定当前节点并返回其父节点。