剑指Offer_13_调整数组顺序使奇数位于偶数前面
来源:互联网 发布:音乐伴唱软件 编辑:程序博客网 时间:2024/05/22 04:34
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
解题思路
使用两个指针,一个指向当前第一个偶数,第二个指针则寻找该偶数后面第一个奇数,然后将奇数插入到第一个偶数的位置。
实现
public class Solution { public void reOrderArray(int [] array) { if (array == null || array.length <= 0) return; int eIndex = 0, oIndex = 1; for (int i = 0; i < array.length; i++){ if ((array[i] & 0x1) == 0) { eIndex = i; oIndex = i + 1; break; } } while (oIndex < array.length){ if ((array[oIndex] & 0x1) == 1) { int tmp = array[oIndex]; for (int i = oIndex; i > eIndex; i--){ array[i] = array[i-1]; } array[eIndex++] = tmp; } oIndex++; } }}
1 0
- 剑指Offer_13_调整数组顺序使奇数位于偶数前面
- 剑指offer:调整数组顺序使奇数位于偶数前面
- 剑指Offer14 调整数组顺序使奇数位于偶数前面
- 剑指offer--调整数组顺序使奇数位于偶数前面
- 剑指offer 调整数组顺序使奇数位于偶数前面
- 《剑指offer》调整数组顺序使奇数位于偶数前面
- 剑指 offer:调整数组顺序使奇数位于偶数前面
- 剑指offer-调整数组顺序使奇数位于偶数前面
- 剑指offer 调整数组顺序使奇数位于偶数前面
- 剑指offer13 调整数组顺序使奇数位于偶数前面
- 剑指offer-调整数组顺序使奇数位于偶数前面
- 剑指offer 调整数组顺序使奇数位于偶数前面
- 【剑指offer】调整数组顺序使奇数位于偶数前面
- [剑指offer]调整数组顺序使奇数位于偶数前面
- 剑指offer:调整数组顺序使奇数位于偶数前面
- 【剑指offer】调整数组顺序使奇数位于偶数前面
- 剑指offer|调整数组顺序使奇数位于偶数前面
- 《剑指offer》调整数组顺序使奇数位于偶数前面
- hdu1695gcd(Mobius反演)
- 初学C语言:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
- cmake基础知识
- Binary Search Tree Iterator
- 最小割总结
- 剑指Offer_13_调整数组顺序使奇数位于偶数前面
- exists与in的区别
- 三次握手linux 源码分析
- 字符串中数字子串的求和
- 537 - Artificial Intelligence?
- Linux grep命令常用参数一览
- slidingMenu嵌套recycleView Touch事件冲突的简单解决方案(小白向)
- 情感分析
- POJ - 2100 Graveyard Design(尺取法)