题目地址:Sort Array By Parity - LeetCode
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
给定一个A非负整数数组,返回一个由所有偶数元素组成的数组A,后跟所有奇数元素A。
python解法如下:
class Solution:
def sort2(a):
return a%2
def sortArrayByParity(self, A: List[int]) -> List[int]:
A.sort(key=Solution.sort2)
return A
如果使用lambda表达式,解法如下:
class Solution(object):
def sortArrayByParity(self, A):
A.sort(key = lambda x: x % 2)
return A
java的官方解法如下:
class Solution {
public int[] sortArrayByParity(int[] A) {
return Arrays.stream(A)
.boxed()
.sorted((a, b) -> Integer.compare(a%2, b%2))
.mapToInt(i -> i)
.toArray();
}
}