题目地址: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();
}
}

博客围绕LeetCode上的数组奇偶排序问题展开,要求将非负整数数组中的偶数元素排在前,奇数元素排在后。给出了问题描述、示例及数组长度和元素范围限制,还介绍了Python使用lambda表达式的解法以及Java的官方解法。

被折叠的 条评论
为什么被折叠?



