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 <= A.length <= 5000
0 <= A[i] <= 5000
class Solution:
def sortArrayByParity(self, A: List[int]) -> List[int]:
i, j = 0, len(A) - 1
while i < j:
if (A[i] & 1) > (A[j] & 1):
A[i], A[j] = A[j], A[i]
if A[i] & 1 == 0:
i += 1
if A[j] & 1 == 1:
j -= 1
return A
class Solution {
public int[] sortArrayByParity(int[] A) {
int i = 0, j = A.length - 1;
while (i < j) {
if ((A[i] & 1) > (A[j] & 1)) {
int t = A[i];
A[i] = A[j];
A[j] = t;
}
if ((A[i] & 1) == 0) {
++i;
}
if ((A[j] & 1) == 1) {
--j;
}
}
return A;
}
}
/**
* @param {number[]} A
* @return {number[]}
*/
var sortArrayByParity = function (A) {
let i = 0;
let j = A.length - 1;
while (i < j) {
if ((A[i] & 1) > (A[j] & 1)) {
const t = A[i];
A[i] = A[j];
A[j] = t;
}
if ((A[i] & 1) == 0) {
++i;
}
if ((A[j] & 1) == 1) {
--j;
}
}
return A;
};