如果已经回答这个问题我很抱歉,但我能找到的唯一答案是添加一个名为count的参数。
我的作业要求我们使用递归来计算链表中的项目数。
这是我尝试过的(注意我正在使用数组,因为我创建了一个数组,今晚我还有很多工作要做:
public static int countArray(int[] array, int first, int last)
{
int count;
if(first < last)
{
countArray(array, first + 1, last);
}
return (count + 1);
}
正如预期的那样,即使数组的长度为10,也会返回2.我还尝试将count设置为1,但每次调用函数时都会重置它(也是预期的)。我确信有一些显而易见的东西我不知道但是我无法弄清楚它是什么。谢谢!
答案 0 :(得分:0)
试试这个,
public static int countArray(int[] array, int first, int last){
if(first < last){
return 1+countArray(array, first + 1, last);
}
return 0;
}
答案 1 :(得分:0)
您应该处理两种情况:
您可以删除最后一个元素,而不是删除第一个元素。