从递归方法java返回值

时间:2018-08-13 12:04:41

标签: java recursion stack-overflow

有两种方法:

public void getBalance(){
    balance(root);
}

private void balance(TreeNode node) {


    if (node != null && node.left != null) {
        balance(node.left);
        balance(node.right);
        System.out.println(node.left);
        //sout work fine
    }
}

需要从balance()返回值;

如果我将返回值从void更改为TreeNode,并更改代码

    private TreeNode balance(TreeNode node) {


    if (node != null && node.left != null) {
        balance(node.left);
        balance(node.right);
        return node.left;

    }
    return balance(node);
}

返回sStackOverflowError异常。

我需要通过此方法返回node left

请帮助。

0 个答案:

没有答案