[LeetCode&Python] Problem 905: Sort Array By Parity
Posted chiyeung
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode&Python] Problem 905: Sort Array By Parity相关的知识,希望对你有一定的参考价值。
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]
以上是关于[LeetCode&Python] Problem 905: Sort Array By Parity的主要内容,如果未能解决你的问题,请参考以下文章
C++&Python描述 LeetCode C++&Python描述 LeetCode 剑指 Offer 22. 链表中倒数第k个节点
[LeetCode&Python] Problem 202. Happy Number
[LeetCode&Python] Problem 520. Detect Capital
[LeetCode&Python] Problem 383. Ransom Note