[剑指Offer][数组]调整数组顺序使奇数位于偶数前面
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
1 public class Solution { 2 3 public int[] reOrderArray(int[] array) { 4 if(array.length == 0) { 5 return array; 6 } 7 int[] result = new int[array.length]; 8 int head = 0; 9 int tail = array.length - 1; 10 int headIndex = head; 11 int tailIndex = tail; 12 while(head < array.length && tail >= 0) { 13 if(array[head] % 2 != 0) { 14 result[headIndex] = array[head]; 15 headIndex ++; 16 } 17 head ++; 18 if(array[tail] % 2 == 0) { 19 result[tailIndex] = array[tail]; 20 tailIndex --; 21 } 22 tail --; 23 } 24 return result; 25 } 26 }

浙公网安备 33010602011771号