LeetCode 每日一題 905. 按奇偶排序數組

1. 題目

905. 按奇偶排序數組

2. 描述

給定一個非負整數數組 A,返回一個數組,在該數組中, A 的所有偶數元素之後跟着所有奇數元素。

你可以返回滿足此條件的任何數組作爲答案。

示例:

輸入: [3,1,2,4]

輸出: [2,4,3,1]

輸出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也會被接受。

3. 思路

  1. 先聲明一個數組 result 用來存放最終結果
  2. 然後遍歷數組兩次,第一次將偶數放入 result 中,第二次將奇數存入 result
  3. 主要進行的是遍歷操作,此時時間複雜度爲 O(n)O(n).

4. 實現

public int[] sortArrayByParity(int[] A) {
    // 存放最終結果
    int[] result = new int[A.length];
    int index = 0;

    // 第一次遍歷,將偶數存入 result 數組
    for (int item : A) {
        if (item % 2 == 0) {
            result[index++] = item;
        }
    }

    // 第二次遍歷,將奇數存入 result 數組
    for (int item : A) {
        if (item % 2 != 0) {
            result[index++] = item;
        }
    }
    return result;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章