二进制搜索树:递归到字符串



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

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

最新更新