後続の各レベルのインデント (3 つのスペース) を使用してバイナリ ツリーを事前注文するにはどうすればよいでしょうか。この時点で、ヘルパー メソッドを使用してツリーを再帰的に出力していますが、インデントのコーディング方法がわかりません。これは私がこれまでに持っているものです:
public void print() {
printPreorder(root);
System.out.println();
}
private void printPreorder(BinaryTreenode<E> node) {
System.out.println(node.getData() + " ");
if (node.getLeft() != null) {
printPreorder(node.getRight());
}
if (node.getRight() != null) {
printPreorder(node.getRight());
}
}
私がすぐに考えたのは、カウンターを入れて、メソッドが再帰的に呼び出されるたびにインクリメントし、インクリメントごとに 3 つのスペースをインデントすることでしたが、これが最善の方法であるかどうかはわかりません。