我的作业限制了辅助方法的使用,并修改了方法参数。
我目前的问题是我的toString()甚至在最后一个元素之后添加了分隔符。 它必须按降序打印(通过比较字符串和compareTo()来添加元素)。
所以我尽可能地向下走到树下,这将是第一个要打印的元素,然后我沿着最右边的节点向左走,然后重复向右等等,然后我继续向左走。 我不能在不破坏顺序或帮助方法的情况下解决问题,例如检查它是否是最后一个元素。
例外输出应为:
[元素 - >元素 - >元素]
但它是:
[element-> element-> element - > ]
这些是我用于输出的方法:
节点:
@Override
public String toString() {
return (this.right != null ? this.right : "") + this.elem + "->" + (this.left != null ? this.left : "");
}
}
树类:
@Override
public String toString() {
if (this.root == null) return "[+]";
else return "[" + this.root + "]";
}