我现在正在寻找一种方法,它给了我给定树的所有路径。想象一下下面的树:
A
B
C
D
E
F
G
现在我想将所有路径作为单独的字符串:
- AB
- ACDE
- ACF
- 股份公司
- - - - - - - -更新 - - - - - - - - -
正如评论中已经提到的,我正在寻找所有的树路径而不是子树。我找到了以下解决方案,但我不确定它是否会是一个好的解决方案:
private ArrayList<ArrayList<String>> abstractProperties;
........
getTreePath(abstractHw, new ArrayList<String>());
.......
private void getTreePath(Node hw, ArrayList<String> path) {
path.add(hw.getName());
if (hw.getNodes().isEmpty()) {
abstractProperties.add(path);
} else {
for (Node subHw : hw.Nodes()) {
getTreePath(subHw, new ArrayList<String>(path));
}
}
}
你怎么看?