LeetCode-按奇偶检验排序数组

给定一个非负整数数组 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

思路:
新建一个和A同样长度的数组B
建立两个标识符
第一个标识符n在数组B的开头
第二个标识符在m数组B的结尾
判断是否为偶数,是偶数从B的开头开始添加(n++)
判断是否为奇数,是奇数从B的末尾开始添加(m--)
return B

代码:

class Solution {
    public int[] sortArrayByParity(int[] A) {
        int n = A.length;
        int i = 0, j = n - 1;
        int[] tmp = new int[n];
        for(int k = 0; k < n; k++){
            if(A[k] % 2 == 0){
                tmp[i++] = A[k];
            }else{
                tmp[j--] = A[k];
            } 
        }
        return tmp;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容