- 问题描述
将一个数组中的偶数放在奇数前面. - 解决思路
设置两个指针, 一个指针从前往后遍历找奇数, 另一个指针从后往前遍历找偶数. 进行交换.
当两个指针相遇时, 循环结束. - 源代码
class Solution {
public int[] sortArrayByParity(int[] A) {
int i = 0;
int j = A.length - 1;
while (i < j) {
while (i < j && A[i] % 2 ==0) {
i++;
}
while (i < j && A[j] % 2 != 0) {
j--;
}
if (i < j) {
int temp = A[i];
A[i] = A[j];
A[j] = temp;
}
}
return A;
}
}