一:问题描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
二:问题分析
基本思路就是从左往右先找出第一个奇数,然后备份,将该奇数前面的所有偶数向后移动一位,将备份的奇数插入到第一个位置,依次类推
三:问题求解
public class Solution {
public void reOrderArray(int [] array) {
if(array==null||array.length==0){
return;
}
int m=0;
for(int i=0;i<array.length;i++){
if(array[i]%2==1){
int temp=array[i];
int j=i;
while(j>m){
array[j]=array[j-1];
j--;
}
array[j]=temp;
m++;
}
}
}
}