【发布时间】:2016-11-27 18:12:01
【问题描述】:
以下方法必须递归地交换整数数组中的所有值。我必须使用辅助方法reverse()。我怎样才能做到这一点?这个问题的基本情况是什么?我尝试将其设为start <= count、start == count/2 和start >= count,但它们都没有奏效。
start是要交换的值的索引,count是数组的元素个数
public void reverse()
{
reverseRecurse(list, 0, count);
}
private void reverseRecurse(int[] list, int start, int count)
{
if (start >= count/2)
{
int temp = list[start];
list[start] = list[count];
list[count] = temp;
}
else
{
reverseRecurse(list, ++start, --count);
}
}
【问题讨论】: