这是我的toString(),但它不能正常工作实现AVL树的toString()的
public String toString() {
StringBuilder str = new StringBuilder("{");
traverse(root, str);
str.append("}");
return str.toString();
}
private void traverse(TreeNode node, StringBuilder str){
if (node == null){
return;
}
if (node.left != null) {
traverse(node.left, str);
str.append(", ");
}
str.append(node.left);
if (node.right != null) {
str.append(", ");
traverse(node.right, str);
}
}
这是个什么方法打印出: {空,AbstractTreeMap $ @树节点} 15a8767
任何帮助表示赞赏。谢谢
不正确的实现。 A)由单个节点组成的树产生一个空字符串B)根不会被打印C)添加不必要的逗号。 – 2013-03-01 05:10:07
@EyalSchneider toString()中的null是由于这一行,所以只是指出了错误。这是逻辑错误。 – 2013-03-01 05:15:20
@EyalSchneider已编辑帖子。 – 2013-03-01 05:17:35