我需要从左侧括号表示构建一个正确的字母表示形式。基本上这意味着解析一个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()
我在理论上知道我知道如何继续这样做,但我正在努力实现解析方法。 我可以使用任何现有的实现吗?任何提示实现方法都是非常受欢迎的,或者如果有人知道从字符串表示构建树的任何好的教程。
答案 0 :(得分:0)
首先,您应该了解要构建的数据结构。基本上你需要一个树,其中每个节点对应于一些括号内的内容(最初的父节点是隐含的 - '(' A(B1,C)')' - 在你的样品)。
对于解析方法:通过char读取输入String char。每当你遇到一个左括号时('你为当前节点创建一个子节点并将当前节点更改为新节点,然后开始填充它。当你遇到一个右括号时)#39;' ;您最终确定当前节点并返回其父节点。