我给自己写了一个快速的树和节点类(没什么花哨的,不需要做太多)。我有可变数量的下一级节点,我使用 ArrayList 来处理这些节点。它按预期工作,唯一的问题是 toString() 方法。示例:我用一堆数字设置它。
- 0 是根
- 0 有孩子 1,2,3
- 2 有孩子 2.4 和 2.5
现在,当我打印出树时,这就是我得到的:(应该有斜线)
- /0/1
- /2/2.5
- /2.4
- /3
然而,我想要的是:
- /0/1
- /0/2/2.5
- /0/2/2.4
- /0/3
这是我的 toString() :
public String toString() {
String all = "";
for (Node<T> node : nextNodes) {
all += node.toString();
if (node.isLeaf()) {
all += "\n";
}
}
return "/" + this.getNodeContent().toString() + all;
}
有人可以告诉我我必须改变什么才能每次都从根开始吗?谢谢!