剑指Offer-将数组中的奇数放在偶数前

it2023-08-03  71

题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变 思路:使用双指针法 代码实现:时间复杂度 O(n),空间复杂度 O(1)

public void reOrderArray(int[] array) { if(array == null || array.length == 0) { return; } int low = 0; int high = array.length - 1; while(low < high) { while(low < high && array[high] % 2 == 0) { high--; } while(low < high && array[low] % 2 == 1) { low++; } if(low < high) { int temp = array[low]; array[low] = array[high]; array[high] = temp; } } }
最新回复(0)