数组基数偶数位置互换

2020-03-02  本文已影响0人  冉桓彬

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位予数组的后半部分。

public static void reorder(int[] arr) {
    if (arr == null || arr.length < 2) {
        return;
    } 
    int start = 0;
    int end = arr.length - 1;
    while (start < end) {
        // 找奇数
        while (start < end && arr[start] % 2 != 0) {
            start++;
        }
        // 找偶数
        while (start < end && arr[end] % 2 == 0) {
            end--;
        }
        // 找到目标奇数与偶数以后, 进行互换
        int tmp = arr[start];
        arr[start] = arr[end];
        arr[end] = tmp;
    }
}
上一篇下一篇

猜你喜欢

热点阅读