我试图以字符串中的升序将二进制搜索树中的所有节点值存储起来。我设法将它们打印出来,但将它们存储在一个字符串中似乎有点复杂任何想法?
这是我打印出来的方式:
public void inOrder() {
if (this.left != null) {
this.left.inOrder();
}
System.out.print(this.value + " ");
if (this.right != null) {
this.right.inOrder();
}
}
我正在寻找这种方法:
public String inOrder() {
// ???
}
答案 0 :(得分:0)
由于您以递归方式调用搜索函数,我建议通过
将值与全局字符串(本例中为mystring
)相连接。
mystring.concat(this.value);
而不是尝试从函数调用本身返回字符串。
答案 1 :(得分:0)
好的,既然这里没有完整的代码示例,我会自己发布。但是,我想知道为什么互联网上没有一个例子。所以我们走了。我假设二叉搜索树使用整数作为其节点的值:
public String inOrder() {
String asc = "";
if (this.left != null) {
asc += this.left.inOrder();
}
asc = asc + this.value + " ";
if (this.right != null) {
asc += this.right.inOrder();
}
return asc;
}
如果您发现这有用或者您有更好的方法,请发表评论!