Javascript 用java实现二叉树的toString方法
预期的Javascript 用java实现二叉树的toString方法,javascript,java,binary-tree,Javascript,Java,Binary Tree,预期的(A(D())(B(C())) 获得A(D())(B(C())()) 我失去了第一个和最后一个括号 private String toString(BinaryNode curr) { String str = ""; if(curr == null) { return str; } else{ str += curr.value; str += "(" + toString(curr.left) + ") (" + toStrin
(A(D())(B(C()))
获得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 + ")";