Java 二叉搜索树:递归toString

Java 二叉搜索树:递归toString,java,recursion,binary-tree,Java,Recursion,Binary Tree,它只打印出一个项目。 假设按升序打印树的内容 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(); }

它只打印出一个项目。 假设按升序打印树的内容

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();
}

你想如何向他们展示

例如,您需要附加字符串

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;
}
//助手
公共字符串toString(){
返回“”;
}
//递归地打印出节点
公共静态字符串toString(节点r){
if(r==null)
返回“”;
其他的
返回到字符串(右左)+“”+r.value+“”+T字符串(右);
}
公共类树节点{
int-val;
左树突;
特雷诺德右翼;
树节点(int x){
val=x;
}
//助手
公共字符串toString(){
返回“”;
}
//递归地打印出节点
公共静态字符串到字符串(TreeNode r){
if(r==null)
返回“”;
其他的
返回r.val+“”+toString(r.left)+“”+toString(r.right);
}
}

如何在字符串中的每个字符后添加逗号?i、 e.“a、b、c、d、e、f”
//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);
}
public class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;

    TreeNode(int x) {
        val = x;
    }

    // Helper

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

    // recursively printing out the nodes

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

}
public String toString(){
    return toString (_root);
}

public String toStringAscending(BSTnode node)
{
    if (node == null) return "";
    return toStringAscending(node.left) + node._data.toString() + toStringAscending(node.right);
}