【发布时间】:2018-08-01 21:02:01
【问题描述】:
所以我正在研究一个实现二叉搜索树的学校项目。我必须创建一个 toString 方法,将所有节点作为字符串返回。我能够做到这一点,但我很难弄清楚如何返回所有节点的字符串。
这是我的工作 void toString 函数。
public void toString(TreeNode node)
{
if (node == null) {
return;
}
if (node.deleted == true) {
System.out.print("*" + node.key + " ");
}
else {
System.out.print(result += node.key + " ");
}
toString(node.leftChild);
toString(node.rightChild);
}
所以我想弄清楚的是如何让它返回树中所有节点的字符串。我尝试了以下方法,但它只返回第一个节点,因为它无法进入递归。
public String toString(TreeNode node)
{
String result="";
if (node == null) {
return "";
}
if (node.deleted == true) {
result += "*" + node.key + " ";
}
else {
result += node.key + " ";
}
toString(node.leftChild);
toString(node.rightChild);
return result;
}
任何帮助将不胜感激。先感谢您。
【问题讨论】:
-
结果字符串的期望格式是什么?解决方法很简单,只需要处理嵌套的
toString()调用的结果即可。
标签: java string testing return binary-search-tree