我必须编写一个函数,该函数将树作为参数并按顺序将其作为字符串返回。

这就是我得到的。

public static String concatInOrder( StringTreeNode t )
    {

        if(t == null) return "";

        return (t.left+t.val+t.right);
    }


但是我遇到了一些困难。几个问题。


我是错误地解决了这个问题吗?
在不使用库等的情况下,如何提高二进制搜索树处理的能力?
我想念什么? inOrder序列是左,当前,右是不是真的? (val是值的缩写,因此它当前处于叶子状态。

最佳答案

是的,那是正确的顺序。您添加的inorder标签说明了很多。

您需要递归调用concatInOrder方法:

public static String concatInOrder(StringTreeNode t)
{
    if (t == null) return "";

    return concatInOrder(t.left) + t.val + concatInOrder(t.right);
}

关于java - 以InOrder顺序将树作为字符串返回,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35753006/

10-08 22:12