-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 に答える