剑指Offer(第二版)面试题21:调整数组顺序使奇数位于偶数前面

(尊重劳动成果,转载请注明出处: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;
		while(left

扩展:

你可能感兴趣的:(笔试题,剑指Offer,面试题)