[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. 1 <= A.length <= 5000
  2. 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

[LeetCode&Python] Problem 458. Poor Pigs

[LeetCode&Python] Problem 682. Baseball Game