【发布时间】:2020-06-18 22:09:50
【问题描述】:
我需要递归地反转仅传递 2 个参数的数组,但似乎不起作用。这就是我尝试过的
private static void rotate(char[]a, int i){
if(i==a.length){
return;
}else{
char temp = a[i];
a[i] = a[a.length - 1 - i];
a[a.length - 1 - i] = temp;
rotate(a, i+1);
}
}
如果我通过类似 char[] x = {'a', 'b', 'c'}; 它将打印 cbc 而不是 cba。 怎么了?
【问题讨论】:
-
您可以打印出每个递归步骤(数组内容)并了解会发生什么。 :-)