输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
package 剑指Offer.调整数组顺序使奇数位于偶数前面;
public class Solution {
public void reOrderArray(int[] array) {
int[] oddArray = new int[array.length];
int oddIndex = 0;
int[] evenArray = new int[array.length];
int evenIndex = 0;
for (int i : array) {
if (i % 2 == 0) {
evenArray[evenIndex] = i;
evenIndex++;
} else {
oddArray[oddIndex] = i;
oddIndex++;
}
}
System.arraycopy(evenArray, 0, oddArray, oddIndex, evenIndex);
for (int i = 0; i < array.length; i++) {
array[i] = oddArray[i];
}
}
}
网友评论