试图在Java中向左折的堆栈溢出错误

时间:2018-10-13 02:23:22

标签: java recursion stack-overflow

尝试运行此代码时出现堆栈溢出错误。有人可以帮我调试它吗?

static <U> U binFoldLeft(U e, List<U>l, BiFunction<U,U,U> f){
    U result = e;

    f.apply(binFoldLeft(result, (l.subList(0, l.size()/2)), f),                 
            binFoldLeft(result, (l.subList(l.size()/2, l.size())),f)); 
    return result;
}

谢谢!

1 个答案:

答案 0 :(得分:1)

您错过了结束递归的基本情况。按照书面规定,即使binFoldLeft为空,l也会始终两次调用自身。