-1

我正在尝试将所有节点的值以字符串的升序存储在二叉搜索树中。我设法将它们打印出来,但将它们存储在一个字符串中似乎有点复杂有什么想法吗?

这就是我打印它们的方式:

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() {
    // ???
}
4

2 回答 2

0

由于您递归调用您的搜索函数,我建议通过将值连接到全局字符串(mystring在这种情况下)

mystring.concat(this.value);

而不是尝试从函数调用本身返回字符串。

于 2013-02-22T22:35:04.403 回答
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;
}

如果您觉得这有帮助或者您有更好的方法,请发表评论!

于 2013-02-22T23:37:33.380 回答