# [LeetCode]#922. Sort Array By Parity II

Environment: Python 3.8

Key technique: %

Given an array `A` of non-negative integers, half of the integers in A are odd, and half of the integers are even.

Sort the array so that whenever `A[i]` is odd, `i` is odd; and whenever `A[i]` is even, `i` is even.

You may return any answer array that satisfies this condition.

Example 1:

`Input: [4,2,5,7]Output: [4,5,2,7]Explanation: [4,7,2,5], [2,5,4,7], [2,7,4,5] would also have been accepted.`

Analysis:

1. Create a None list and size is same as input A.
2. Create two variable t1=0, t2=1.
3. If A[i] is even, ans[t1] is A[i]. t1=t1+2
4. If A[i] is odd, ans[t2] is A[i]. t2=t2+2
5. Return ans

Solution:

`class Solution:    def sortArrayByParityII(self, A):        ans=[None]*len(A)        t1=0        t2=1        for i in A:            if i % 2==0:                ans[t1]=i                t1+=2            else:                ans[t2]=i                t2+=2        return ans`

Submissions:

Reference:

https://leetcode.com/problems/sort-array-by-parity-ii/discuss/1003699/Python-3-two-pointers-O(n)

Interesting in any computer science.

## More from Fatboy Slim

Interesting in any computer science.