尝试运行此代码时出现堆栈溢出错误。有人可以帮我调试它吗?
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;
}
谢谢!
答案 0 :(得分:1)
您错过了结束递归的基本情况。按照书面规定,即使binFoldLeft
为空,l
也会始终两次调用自身。