《劍指offer》 面試題21. 調整數組順序使奇數位於偶數前面

題目描述

輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位於數組的前半部分,所有偶數位於數組的後半部分。

示例:
輸入:nums = [1,2,3,4]
輸出:[1,3,2,4]
注:[3,1,2,4] 也是正確的答案之一。

提示:
1 <= nums.length <= 50000
1 <= nums[i] <= 10000。

Java

看清楚題幹要求,只需要將所有的奇數放在偶數前即可。沒有順序上的要求

class Solution {
    public int[] exchange(int[] nums) {
        int res[] = new int[nums.length];
        int head = 0;
        int tail = nums.length-1;
        for(int i = 0; i < nums.length; i++){
            if(nums[i] % 2 == 0){
                res[tail--] = nums[i];			//偶數,從數組尾部插入
            }else{
                res[head++] = nums[i];			//奇數,從數組前面插入
            }
        }
        return res;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章