Ошибка переполнения стека при попытке двоичного сложения в Java - PullRequest
0 голосов
/ 13 октября 2018

Я получаю ошибку переполнения стека при попытке запустить этот код.Может кто-нибудь помочь мне отладить его?

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 голосов
/ 13 октября 2018

Вам не хватает базового варианта, чтобы закончить рекурсию.Как написано, binFoldLeft всегда вызывает себя дважды, даже если l пусто.

...