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
Try:
In the beginning, I want to use recursive method to solve this problem.
class Solution: def sortArrayByParity(self, A): """ :type A: List[int] :rtype: List[int] """ if not A: return [] if A[0]%2!=0: return self.sortArrayByParity(A[1:])+[A[0]] return [A[0]]+self.sortArrayByParity(A[1:])
The problem is that this method needs too much memory space.
Solution:
Just use one line, you can solve this problem.
class Solution: def sortArrayByParity(self, A): """ :type A: List[int] :rtype: List[int] """ return [x for x in A if x%2==0]+[x for x in A if x%2!=0]
原文地址:https://www.cnblogs.com/chiyeung/p/9655829.html
时间: 2024-09-30 06:56:28