首页 > 代码库 > 调整数组顺序使奇数位于偶数前面

调整数组顺序使奇数位于偶数前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

思路:创建两个新的数组,分别把奇数偶数放到两个数组里面,然后再把数组放进去。

 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 }

 

调整数组顺序使奇数位于偶数前面