(十三)

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

解题思路:分别用两个列表接口添加奇数和偶数。再分别添加奇数和偶数到列表当中。

 1 import java.util.ArrayList;
 2 import java.util.List;
 3 
 4 public class Solution {
 5     public void reOrderArray(int [] array) {
 6         List<Integer> odd = new ArrayList<Integer>();
 7         List<Integer> even = new ArrayList<Integer>();
 8         int n = array.length;
 9         int temp = 0;
10         for(int i = 0; i<n; i++){
11             temp = array[i];
12             if(temp % 2 == 1){
13                 odd.add(temp);
14             }else{
15                 even.add(temp);
16             }
17         }
18         int m = 0;
19         for(int i = 0; i<odd.size(); i++){
20             array[m] = odd.get(i);
21             m++;
22         }
23          for(int i = 0; i<even.size(); i++){
24             array[m] = even.get(i);
25             m++;
26         }
27     }
28 }

 

posted @ 2018-12-10 21:19  落水河图  阅读(143)  评论(0)    收藏  举报