Sort Array By Parity II

Given an array of integers nums, half of the integers in nums are odd, and the other half are even.

Sort the array so that:

  • whenever nums[i] is odd, i is odd
  • whenever nums[i] is even, i is even

Return any answer array that satisfies this condition.

Follow Up: Could you solve it in-place?

Example 1
Inputnums = [4,2,5,7]
Output[4,5,2,7]
The returned array satisfies the condition because even values are at even indices and odd values are at odd indices; other valid answers such as [4,7,2,5], [2,5,4,7], and [2,7,4,5] would also be accepted.
Example 2
Inputnums = [2,3]
Output[2,3]
The even number 2 is at index 0 and the odd number 3 is at index 1.

Constraints

  • 2 <= nums.length <= 2 * 10^4
  • nums.length is even.
  • Half of the integers in nums are even.
  • 0 <= nums[i] <= 1000

Asked at 6 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate