我尝试用两种方法反转数组:
1)通过创建一个非常简单的新数组:
public static int[] reverse(int[] array) {
int[] reverseArray = new int[array.length];
for(int i = 0; i < reverseArray.length; i++) {
reverseArray[i] = array[array.length - i - 1];
}
return reverseArray;
}
2)第二种方法我得到了答案,但实际上我不太理解它,它实际上利用了交换,将数组的值赋给一个临时变量,然后将其更改并返回给原始变量:
public static int[] reverse2(int[] array)
{
for (int i=0; i < array.length / 2; i++)
{
int temp = array[i];
array[i] = array[array.length - i - 1];
array[array.length - i - 1] = temp;
}
return array;
}
有人能给我解释一下第二个代码吗?我不明白2的除法吗?如果数组大小是偶数或奇数,会发生什么?
https://stackoverflow.com/questions/13465385
复制相似问题