2013-12-10 31 views
0

它只打印出一个项目。 它是假设打印树的内容在升序二叉搜索树:递归toString

public String toString() 
{ 
    return toString (_root); 
} 
private String toString(BSTnode root) 
{ 
    if (root == null) 
     return ""; 
    toString(root._left); 
    toString(root._right); 
    return root._data.toString(); 
} 

回答

3

你怎么想向他们展示?例如,您需要追加字符串。

private String toString(BSTnode root) 
{ 
    StringBuilder builder = new StringBuilder(); 
    if (root == null) 
     return ""; 
    builder.append(toString(root._left)); 
    builder.append(toString(root._right)); 
    return builder.append(root._data.toString()).toString(); 
} 

或者只是在字符串上使用串联。

private String toString(BSTnode root) 
{ 
    String result = ""; 
    if (root == null) 
     return ""; 
    result += toString(root._left); 
    result += toString(root._right); 
    result += root._data.toString() 
    return result; 
} 
+0

真棒!谢谢! – user2810123

0
//Helper 

public String toString(){ 
return "<" +toString(root) + ">"; 
} 

//recursively printing out the nodes 

public static String toString(Node r){ 
if(r==null) 
return ""; 
else 
return toString(r.left) + " " +r.value + " " +toString(r.right); 
}