905 按奇偶排序数组 简单
发布者:admin 发表于:416天前 阅读数:549 评论:0

905. 按奇偶排序数组 简单

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

代码参考:

package main

import "fmt"

func main() {
    fmt.Println(sortArrayByParity([]int{3, 1, 2, 4}))
}

// 简单的逻辑...
func sortArrayByParity(A []int) []int {
    isOdd := func(x int) bool {
        return x%2 == 1
    }
    odds := make([]int, 0, len(A))
    evens := make([]int, 0, len(A))
    for _, a := range A {
        if isOdd(a) {
            odds = append(odds, a)
            continue
        }
        evens = append(evens, a)
    }
    return append(evens, odds...)
}