(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/72594212冷血之心的博客)
剑指Offer面试题21:调整数组顺序使奇数位于偶数前面
题目一:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
思路:使用双指针,left和right;left从前往后移动,直到遇到偶数;right指针向前移动,直到遇到一个奇数;交换两个指针所指向的元素。
/**
* 可以满足奇数位于偶数前面的算法,但是奇数和奇数、偶数和偶数的相对位置不能保证。
* 时间复杂度O(N),空间O(1)
* @param arr
*/
private static void reOrderArray(int[] arr){
if(arr==null||arr.length<2)
return ;
int left = 0;
int right = arr.length-1;
w