905. 按奇偶排序数组
给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。
你可以返回满足此条件的任何数组作为答案。
示例:
输入:[3,1,2,4]
输出:[2,4,3,1]
输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sort-array-by-parity
//暴力 n^2
public int[] sortArrayByParity1(int[] A) {
for (int i = 0; i < A.length; i++) {
if (A[i] % 2 == 1){
for (int j = A.length - 1; j > i; j--) {
if (A[j] % 2 == 0){
int temp = A[i];
A[i] = A[j];
A[j] = temp;
break;
}
}
}
}
return A;
}
//n 2020年11月27日21:42:52
public int[] sortArrayByParity(int[] A) {
int begin = 0, end = A.length - 1;
while (begin < end){
if (A[begin] % 2 == 1 && A[end] % 2 == 0){
int temp = A[begin];
A[begin] = A[end];
A[end] = temp;
}
if (A[begin] % 2 == 0)
begin++;
if (A[end] % 2 == 1)
end--;
}
return A;
}