题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
答案
public class Solution {
public void reOrderArray(int [] array) {
int[] f = new int[array.length];
int t = 0;
int n = 0;
while(t<array.length){
if(array[t]%2 != 0){
f[n] = array[t];
n++;
}
t++;
}
t = 0;
while(t<array.length){
if(array[t]%2==0){
f[n] = array[t];
n++;
}
t++;
}
for(int i = 0;i<array.length;i++){
array[i] = f[i];
}
}
}
解析
开辟一个辅助空间,先放奇数,再放偶数
Comments | NOTHING