我得到了一个树的单行字符串表示。树上的键是整数。键是唯一的(但稀疏)。例如字符串

2[5],3[6,12[15,16]]

描述树
2
\-- 5
3
|-- 6
`-- 12
    |-- 15
    `-- 16

我想用getchildren方法将单行字符串解析为childlookup类,以便
getchildren(2)返回[5]
getchildren(5)返回[]
getchildren(3)返回[6,12]
getchildren(10)抛出keynotfoundexception
我该怎么做?
动机:我正在尝试使用相同的api对为不同类编写的算法进行单元测试。

最佳答案

类似于:
扫描树以查找父密钥。如果找不到,则返回null。
从下一个左括号开始,您将添加到子输出列表。
从这里开始跟踪打开/关闭括号,作为树的深度。
仅当您处于父级以下时才添加到返回列表。
当然,你可以建造整棵树,但这可能比你需要做的还要多。

10-04 22:44