如何将二叉搜索树的节点值存储在字符串中?

时间:2013-02-22 22:30:59

标签: java binary-tree

我试图以字符串中的升序将二进制搜索树中的所有节点值存储起来。我设法将它们打印出来,但将它们存储在一个字符串中似乎有点复杂任何想法?

这是我打印出来的方式:

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

2 个答案:

答案 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;
}

如果您发现这有用或者您有更好的方法,请发表评论!