二叉树的toString方法

toString method of Binary Tree using java

本文关键字:方法 toString 二叉树      更新时间:2023-09-26

预期(A (D () ()) (B (C () ()) ()))

Got A(D() ()) (B(C() ()) ())

我丢失了第一个和最后一个括号。

private String toString(BinaryNode curr) {
    String str = "";
    if(curr == null) {
        return str;
    } else{
    str += curr.value;
    str += "(" + toString(curr.left) + ") (" + toString(curr.right) + ")";
    }
    return str;
}

如果我改变代码,我得到(A((D() ())) ((B((C() ())) ())))

private String toString(BinaryNode curr) {
    String str = "";
    if(curr == null) {
        return str;
    } else{
    str += curr.value;
    str += "(" + toString(curr.left) + ") (" + toString(curr.right) + ")";
    }
    return "(" + str + ")";
}

您需要决定代码的哪一部分负责用括号括起来。返回处的那些似乎完成了工作:

private String toString(BinaryNode curr) {
    String str = "";
    if(curr == null) {
        return str;
    } else{
        str += curr.value+" ";
        str += toString(curr.left) + toString(curr.right);
    }
return "(" + str + ")";

}