我已经建立了一棵张开的树,我试图将它反向打印出来,这样当你把头转向左边时,你可以以正常的方式看到树。我已经编写了以下代码,它输出的树有点正确,但是它在最右边的节点上添加了额外的空格,并且它没有为应该放置在根节点下方的所有子节点添加空格:
public void printReverseInOrder() {
if (root != null) {
reverseInOrder(root, 0);
}
else {
System.out.println();
}
}
public void reverseInOrder(BSTnode h, int indent) {
if (h != null) {
for (int i = 0; i < indent; i++) {
System.out.print(" ");
}
indent++;
reverseInOrder(h.right, indent);
reverseInOrder(h.left, indent);
System.out.println(h.data);
indent--;
}
}
我觉得这可能是我的递归或缩进加减放置的错误。