输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
输入:[1,2,3,4] 返回值:[1,3,2,4]
新建一个数组,从头开始遍历两次:第一次把所有的奇数加进新数组,第二次把所有偶数加进新数组。
public class Solution { public int[] reOrderArray(int[] array) { // i for odds, j for even int[] res = new int[array.length]; int j = 0; for (int i = 0; i < array.length; i++) { if ((array[i] & 1) == 1) { res[j++] = array[i]; } } for (int i = 0; i < array.length; i++) { if ((array[i] & 1) == 0) { res[j++] = array[i]; } } return res; } }