美文网首页
LeetCode-按奇偶检验排序数组

LeetCode-按奇偶检验排序数组

作者: G_dalx | 来源:发表于2018-09-19 22:04 被阅读0次

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

相关文章

网友评论

      本文标题:LeetCode-按奇偶检验排序数组

      本文链接:https://www.haomeiwen.com/subject/rxuwnftx.html