输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。
package com.main;
import java.util.Arrays;
public class Main {
private void adjustPosition(int[] nums) {
int n = nums.length;
if (n < 2) {
return;
}
int i = n - 1;
int j = 0;
int temp = 0;
while (i > j) {
if ((nums[i] & 1) == 0) {//是偶数,继续往左
i--;
continue;
}
if ((nums[j] & 1) == 1) {//是奇数,继续往右
j++;
continue;
}
temp = nums[i];//交换