题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路分析
最简单的方法就是把奇数和偶数按顺序挑出来,分别放到vector里,最后再把偶数的vector接到奇数vector的末尾。
参考代码
1 import java.util.Vector; 2 public class Solution { 3 public void reOrderArray(int [] array) { 4 Vector<Integer> odd = new Vector<Integer>(); 5 Vector<Integer> even = new Vector<Integer>(); 6 for(int i = 0; i < array.length; i++) { 7 if(array[i] % 2 == 0) { 8 even.add(array[i]); 9 } else { 10 odd.add(array[i]); 11 } 12 } 13 odd.addAll(even); 14 for(int i = 0; i < array.length; i++) { 15 array[i] = odd.get(i); 16 } 17 } 18 }