Я пытаюсь найти размер связанного списка, используя рекурсивный алгоритм. Вот что у меня есть:
public int getCurrentSize()
{
int size = 0;
size = getCurrentSizeHelper(headRef);
return size;
}
public int getCurrentSizeHelper(BoxClass workingRef)
{
int sizeAtIndex = 0;
//If empty, size is zero
if (isEmpty())
{
return sizeAtIndex;
}
//If there is no next box, end recursion and increment size
if (workingRef.nextRef == null)
{
sizeAtIndex++;
}
//While there are next boxes, increment size and continue recursion
else
{
sizeAtIndex = getCurrentSizeHelper(workingRef.nextRef) + 1;
}
return sizeAtIndex;
}
У меня это работало раньше, однако, каждый раз, когда я пытаюсь его запустить, я получаю ошибку переполнения стека. Буду признателен за понимание этой проблемы.