前言:记录数组反转的几个方法
给了一个数组,要求进行反转,得到以下数据
int[] list = {1, 2, 3, 4, 5};
// 得到结果[5,4,3,2,1]
第一种:
看到这个题目时,我的第一反应是这样:
int[] result = new int[list.length];
int maximum = list.length - 1;
for (int i = maximum; i >= 0; i--) {
result[maximum - i] = list[i];
}
System.out.println(Arrays.toString(result));
第二种:
int[] result = new int[list.length];
for (int i = 0; i < list.length; i++) {
result[i] = list[list.length - 1 - i];
}
System.out.println(Arrays.toString(result));
第三种:
又看老师写出了这种方法:
for (int i = 0, j = list.length - 1; i < j; i++, j--) {
int temp = list[i];
list[i] = list[j];
list[j] = temp;
}
System.out.println(Arrays.toString(list));
第四种:
麻了麻了,人麻了
for (int i = 0; i < list.length / 2; i++) {
int temp = list[i];
list[i] = list[list.length - 1 - i];
list[list.length - 1 - i] = temp;
}
System.out.println(Arrays.toString(list));