剑指offer 面试题14 调整数组顺序使奇数位于偶数前面
来源:互联网 发布:thinkphp防止sql注入 编辑:程序博客网 时间:2024/06/07 11:54
剑指offer 面试题14 调整数组顺序使奇数位于偶数前面
题目:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,
使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
package algorithm.foroffer.top20;import java.util.Arrays;/** * Created by liyazhou on 2017/5/26. * 面试题14:调整数组顺序使奇数位于偶数前面 * 题目: * 输入一个整数数组,实现一个函数来调整该数组中数字的顺序, * 使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 * * 问题: * 1. 排序 * * 思路: * 1. 快速排序的思想 * 2. 用 A、B 两个指针分别指向数组的开始和末尾 * A 指针往右移动,若发现偶数则停止移动 * B 指针往左移动,若发现奇数则停止移动 * 若 A 指向偶数,B 指向奇数。交换两者的位置 * 直到 A、B 指针相遇 * */public class Test14 { public static void reorderOddEven(int[] array){ if (array == null) return; int first = 0; int second = array.length-1; while (first < second){ // 从左往右,找到第一个偶数 while(((array[first] & 1) == 1) && first < second) first ++; while(((array[second] & 1) == 0) && second > first) second --; // 从右往左,找到第一个奇数 if (first < second){ int tmp = array[first]; array[first] = array[second]; array[second] = tmp; } } } public static void main(String[] args){ int[] array = {1, 2 ,3, 4, 5, 6, 7, 8, 9, 10}; System.out.println(Arrays.toString(array)); Test14.reorderOddEven(array); System.out.println(Arrays.toString(array)); }}
阅读全文
1 0
- [剑指offer][面试题14]调整数组顺序使奇数位于偶数前面
- 剑指offer 面试题14 调整数组顺序使奇数位于偶数前面
- 《剑指Offer》面试题14:调整数组顺序使奇数位于偶数前面
- 剑指offer 面试题14—调整数组顺序使奇数位于偶数前面
- 《剑指Offer》学习笔记--面试题14:调整数组顺序使奇数位于偶数前面
- 剑指offer--面试题14:调整数组顺序使奇数位于偶数前面--Java实现
- 【剑指Offer学习】【面试题14 :调整数组顺序使奇数位于偶数前面】
- 剑指offer面试题14-调整数组顺序使奇数位于偶数前面
- 剑指offer-面试题14:调整数组顺序使奇数位于偶数前面
- 剑指offer之面试题14:调整数组顺序使奇数位于偶数前面
- 剑指offer之面试题14调整数组顺序使奇数位于偶数前面
- 剑指Offer----面试题14:调整数组顺序使奇数位于偶数前面
- 剑指offer面试题14:调整数组顺序使奇数位于偶数前面
- 剑指offer面试题14:调整数组顺序使奇数位于偶数前面
- 剑指offer面试题14:调整数组顺序使奇数位于偶数前面
- 剑指offer--面试题14:调整数组顺序使奇数位于偶数前面
- 剑指offer面试题14: 调整数组顺序使奇数位于偶数前面
- 剑指offer——面试题14:调整数组顺序使奇数位于偶数前面
- Dialect class not found
- 【模板】莫队 (模板题:洛谷P2009HH的项链)
- Win7系统电脑将鼠标停留在桌面图标上不出现提示信息的原因及解决方法图文教程
- linux系统中usr/bin/ld被误删/覆盖解决方案
- RecyclerView自动加载更多框架LRecyclerView(可以实现侧滑删除)
- 剑指offer 面试题14 调整数组顺序使奇数位于偶数前面
- android 开源框架之——下拉刷新,上拉加载更多总结
- google 翻译python版本
- 如何使用Spring Boot快速创建Web应用
- Rails4 ActionCable的使用
- win7sp1 unity上无法弹出中文输入法
- visual studio 2010 “LNK1123: 转换到 COFF 期间失败: 文件无效或损坏” 问题解决方法
- html--列表
- 《大型网站技术架构:核心原理与案例分析》拜读总结,第五章——万无一失:网站的高可用架构