题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
分析:
for循环一遍,记录下奇数,然后再循环一遍,记录下偶数。我在这里是用了一个等长的数组。
public class Solution {
public void reOrderArray(int [] array) {
int len =array.length;
int[]step =new int[len];
int tag =0;
for(int i=0;i<len;i++){
if(array[i]%2 ==1){
step[tag] =array[i];
tag++;
}
}
for(int i=0;i<len;i++){
if(array[i]%2 ==0){
step[tag] =array[i];
tag++;
}
}
for(int i=0;i<len;i++){
array[i] =step[i];
System.out.print(array[i] + " ");
}
}
}