首页 > 解决方案 > Java中是否有任何内置函数可以将数组从一个指定的索引反转到另一个索引?

问题描述

例如:我的数组是[1,2,3,4],我想将它从索引 1 反转为 2。所以我的答案应该是[1,3,2,4].

我怎样才能做到这一点?

标签: javaarrays

解决方案


这很简单:

public static void reverseRangeClose(int[] arr, int fromIndexInclusive, int toIndexInclusive) {
    for (int i = fromIndexInclusive, j = toIndexInclusive; i < j; i++, j--) {
        int tmp = arr[i];
        arr[i] = arr[j];
        arr[j] = tmp;
    }
}

输出:

int[] arr = { 1, 2, 3, 4 };
System.out.println(Arrays.toString(arr));   // [1, 2, 3, 4]
reverseRangeClose(arr, 0, 2);
System.out.println(Arrays.toString(arr));   // [3, 2, 1, 4]

推荐阅读