算法思路一 时间复杂度和空间复杂度为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 ;
        }
    }