怎么样才能在一个数组中完成前后数组元素倒置

img


本人初学,想顺着这种思路做,如果这种思路不可行的话希望各位指导一下

思路可以,循环次数那里有点问题,只需要循环数组长度的一半长度就好了。可以参考下面代码

    public static void main(String[] args) {
        int[] arr = {2, 4, 6, 8, 10, 1, 3, 5, 7, 9};
        int temp;
        int length = arr.length;
        int j = 9;
        for (int i=0; i < length / 2; i++) {
            temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
            j--;
        }
        for (int i = 0; i < length; i++) {
            System.out.print(arr[i] + "\t");
        }
    }

思路对,但是循环次数错了
数组长度10,那交换5次就好了呀
交换10次不又换回来了吗
循环条件可以写i<j,这样就不用管到底多长了


public static void reverseArray(int[] arr) {
    int start = 0;
    int end = arr.length - 1;
    while(start < end) {
        int temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
        start++;
        end--;
    }
}