【Leetcode】905. 按奇偶性排序数组(Sort Array By Parity)

    xiaoxiao2024-12-05  64

    Leetcode - 905 Sort Array By Parity (Easy)

    题目描述:排序数组使得偶数在前,奇数在后。

    Input: [3,1,2,4] Output: [2,4,3,1] The outputs [4,2,3,1], [2,4,1,3], and [4,2,1,3] would also be accepted.

    解法一:额外数组

    public int[] sortArrayByParity(int[] A) { int[] res = new int[A.length]; int index = 0; for (int i : A) { if (i % 2 == 0) res[index++] = i; } for (int i : A) { if (i % 2 == 1) res[index++] = i; } return res; }

    解法二:双指针

    public int[] sortArrayByParity(int[] A) { int left = 0, right = A.length - 1; while (right > left) { if (A[left] % 2 > A[right] % 2) { int tmp = A[left]; A[left] = A[right]; A[right] = tmp; } if (A[left] % 2 == 0) left++; if (A[right] % 2 == 1) right--; } return A; }
    最新回复(0)