输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路:创建两个新的数组,分别把奇数偶数放到两个数组里面,然后再把数组放进去。
1 public class Solution { 2 public void reOrderArray(int [] array) { 3 int len = array.length; 4 int []odd = new int[len]; 5 int []even = new int[len]; 6 int []merge = new int[len]; 7 int j = 0; 8 int k = 0; 9 for(int i = 0;i<len;i++){ 10 if(array[i]%2 == 0){ 11 even[j]=array[i]; 12 j++; 13 } 14 else{ 15 odd[k] = array[i]; 16 k++; 17 } 18 } 19 for(int n = 0;n<k;n++){ 20 array[n] = odd[n]; 21 } 22 for(int m = k;m<j+k;m++){ 23 array[m] = even[m-k]; 24 } 25 } 26 }