我不太确定如何修改不在递归方法中的start和end?
在这个例子中,我试图反转一个数组。
到目前为止,我的测试通常会得到StackOverflow错误。有什么我应该做的吗?
int start =0;
int end =0;
public int[] backwardArray(int[] myArray) {
end = myArray.length-1;
if (start < end) {
int temp = myArray[start];
myArray[start] = myArray[end];
myArray[end] = temp;
backwardArray(myArray);
end--;
start++;
}
return myArray;
}
1条答案
按热度按时间4dbbbstv1#
在了解到使用全局变量是非常危险的,并且我在这里使用它们的方式并不可取之后,我发现使用助手方法更有益。修订版工作得更好:
(诚然,我花了很长时间才意识到这一点,但是)System.out.println()看起来像: