Intuition

Simply use a deque and append left and right based on if the array is even or odd

Complexity

Runtime

Space

Code

class Solution:
    def sortArrayByParity(self, nums: List[int]) -> List[int]:
        res = deque()
        for num in nums:
            if num % 2 == 0:
                res.appendleft(num)
            else:
                res.append(num)
        return list(res)

References