算法思路一 时间复杂度和空间复杂度为O(n)
通过一次for循环,将数组的倒数第一位和第一位做替换,并赋予新数组, 以此类推,所以时间复杂度和空间复杂度都是O(n)
public static void main(String[] args) {
int a[] = {1,2,3,4,5};
int b[] = new int[5];
for(int i = 0 ; i<a.length;i++){
b[i]= a[a.length-i-1];
}
}
算法思路二 时间复杂度为O(n),空间复杂度为O(1)
通过一次for循环,定义中间变量,将数组的倒数第一位和倒数第一位做替换,以此类推,所以时间复杂度是O(n),空间复杂度是O(1)
public static void main(String[] args) {
int a[] = {1,2,3,4,5};
for(int i = 0 ; i<a.length;i++){
int tmp = a[a.length-i-1];
a[a.length-i-1] = a[i]
a[i]= tmp ;
}
}