這是我的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