两个相同参数的递归

时间:2013-04-19 19:40:21

标签: java recursion binary-search-tree

我正在研究一种递归方法,该方法在二叉树搜索树中输出最小的字符串,该树在树中具有反向,但我觉得我完成此任务的方式做得不好。

我有一个驱动方法,它将根变量两次传递给递归重载方法。我觉得这不仅令人困惑,而且被认为是糟糕的做法。我通过它两次的原因是跟踪原始根变量,所以我可以将它传递给需要它的搜索方法。有没有其他方法可以做到这一点,还是我坚持下去?

相关代码:

    public String smallRev() {
        return smallRev(root,root); // <--- Bad practice?
    }

    private static String smallRev(StringNode temproot, StringNode root) {
        String result;
        if (temproot == null) {
            result = "";
        } else if (search(root, revString(temproot.getString()))) { //<-- Used here
            result = temproot.getString();
        } else {
            String left = smallRev(temproot.getLeft(),root); // <-- Here
            String right = smallRev(temproot.getRight(),root); // <-- & Here
            if (!left.equals("")) {
                result = left;
            } else {
                result = right;
            }
        }
        return result;
    }

0 个答案:

没有答案