# [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:**

- Create a None list and size is same as input A.
- Create two variable t1=0, t2=1.
- If A[i] is even, ans[t1] is A[i]. t1=t1+2
- If A[i] is odd, ans[t2] is A[i]. t2=t2+2
- 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)