输入:一个整数数组
输出:使奇数位于偶数前面
思路:用起始两个指针,第一个指针向后移动,第二个指针向前移动,当第一个指针指向偶数第二个指针指向奇数将二者交换,直到两个指针相遇
public class ReorderOddEven{
// 剑指offer第14题
public void reorderOddEven(int[] array){
int start = 0;
int end = array.length - 1;
while (start < end){
while ((array[start] & 1) == 1){
start ++;
}
while ((array[end] & 1) == 0){
end -- ;
}
swap(array,start,end);
}
}
private void swap(int[] array, int start, int end) {
int temp = array[start];
array[start] = array[end];
array[end] = temp;
}
}