public class TestArray {
public static void main(String[] args) {
int[] list1 = { 1, 2, 3, 4, 5 };
printlist(list1);
System.out.println();
int[] list2 = reverse1(list1);
printlist(list2);
System.out.println();
int[] list3 = new int[5];
list3 = reverse2(list1);
printlist(list3);
}
public static void printlist(int[] list) {
for (int i : list) {
System.out.print(i + " ");
}
}
public static int[] reverse1(int[] list) {
int[] list2 = new int[list.length];
for (int i = 0; i < list.length; i++) {
list2[i] = list[list.length - i - 1];
}
return list2;
}
public static int[] reverse2(int[] list) {
for (int i = 0; i < list.length / 2; i++) {
int temp = list[i];
list[i] = list[list.length - i - 1];
list[list.length - i - 1] = temp;
}
return list;
}
}
输出:
时间复杂度:两种方法都为O(n)。
空间复杂度:第一种方法为O(n),第二种方法为O(1)。