Given an array A of non-negative integers, return an array consisting of all the even elements of A, followed by all the odd elements of A.

You may return any answer array that satisfies this condition.

Example 1:

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.

Note:

  • 1 <= A.length <= 5000
  • 0 <= A[i] <= 5000

题解

题目大意:数组排序,偶数放前,奇数在后,偶数的数之间不用管顺序,奇数的数之间也不用管顺序
思路:建两个list,一个放偶数,一个放奇数,最后将两个list合并,转化为数组返回

class Solution {
    public int[] sortArrayByParity(int[] A) {
        ArrayList<Integer> oddList = new ArrayList<>();//存放奇数
        ArrayList<Integer> evenList = new ArrayList<>();//存放偶数
        for (int a : A) {
            if (a % 2 == 0) evenList.add(a);
            else oddList.add(a);
        }
        evenList.addAll(oddList);
        int[] arr = new int[A.length];
        for (int i = 0; i < A.length; i ++){
            arr[i] = evenList.get(i);
        }
        return arr;
    }
}

相关文章:

  • 2022-12-23
  • 2021-08-19
  • 2022-12-23
  • 2022-02-23
  • 2021-05-24
  • 2022-01-23
  • 2021-05-25
  • 2022-01-27
猜你喜欢
  • 2021-11-17
  • 2021-07-04
  • 2021-05-09
  • 2021-10-02
  • 2021-07-22
  • 2021-08-06
  • 2021-06-19
相关资源
相似解决方案