这是我的代码:

public int sum(int[] array, int index)
  {
    //int index is the number of elements in the array.
       //Here is my base case:
    if (index == 0)
        return 0;
    //Now it's time for the recursion
    else
        return array[index] + sum(array, index + 1);
}


我不断遇到错误,但是我没有做错什么。

最佳答案

您的基本条件有问题。它应该是:

if (index == array.length)


请注意,您需要在首次通话时传递index = 0。如果要传递index = array.length - 1,则保持基本情况不变,然后将递归方法调用更改为传递index - 1,而不是index + 1

但是,您真的需要递归吗?在进行递归而不是循环执行此任务之前,我将认真考虑一下数百种想法。

07-24 09:46
查看更多