按奇偶校验排序数组
Posted tu9oh0st
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按奇偶校验排序数组相关的知识,希望对你有一定的参考价值。
题目描述
给定一个非负整数数组 A
,返回一个由 A
的所有偶数元素组成的数组,后面跟 A
的所有奇数元素。
你可以返回满足此条件的任何数组作为答案。
示例:
输入:[3,1,2,4]
输出:[2,4,3,1]
输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。
提示:
1 <= A.length <= 5000
0 <= A[i] <= 5000
分析
利用栈的特性,新的元素放在数组的最后面(即栈顶),不过Java中的栈类,跟这个题目要求的数组,我实在无解,这两个怎么转换。
贴出代码
class Solution {
public int[] sortArrayByParity(int[] A) {
List<Integer> res = new ArrayList();
List<Integer> odd = new ArrayList();
for(int i = 0; i < A.length; i++){
if (A[i] % 2 == 0)
res.add(A[i]);
else
odd.add(A[i]);
}
int resLen = res.size();
int oddLen = odd.size();
int[] out = new int[resLen + oddLen];
for(int j = 0; j < resLen; j++)
out[j] = res.get(j);
for(int n = 0; n < oddLen; n++)
out[n + resLen] = odd.get(n);
return out;
}
}
以上是关于按奇偶校验排序数组的主要内容,如果未能解决你的问题,请参考以下文章