だから私は、私は再帰を使用したいBSTこの再帰はどのように動作し、どのようにしてルートを出力するのですか?
private String toStringHelper(Node node) {
if (node == null) {
return "";
}
if (node.left != null) {
System.out.println(node.left.value);
toStringHelper(node.left);
}
if (node.right != null) {
System.out.println(node.right.value);
toStringHelper(node.right);
}
return "";
}
の実装を行いました。問題は、それが私のルートである要素を表示しない、そうでなければうまくいくように見えることです(編集の開始)。 -12 -13 -1 0 12を:これは、以下の順序でそれらを返し、100値-12、-13、-1、0、12、10、123、122、124以下挿入 124明確に注文されていない商品です。 (編集の終了)
私は、再帰部分の仕組みが完全にわからないことがあり、これを説明して、適切な場所にルートを印刷する方法を得ることができるようにしたいと思います。
"" を返すのポイントは何ですか? – haifzhan
ノードの値は決して印刷されません... – f1sh
String toStringHelper()何も返すことができず、メソッドを無効にできませんでした。そして、私はSystem.out.println(node.left.value)の値を出力します。私はそれを2回印刷するのが便利ではなかった。 私はそれが "奇妙な"練習であることを知っています。どのようにメソッドを変更しますか? –