解题思路

    看到题目首先想到的是将排序的思想应用到这道题目上,但是这样不能保证奇数在偶数前面,并且相对位置不变;其次又想是不是可以都顺次遍历然后交换,可后来发现这样进行的次数多了会打乱偶数的相对位置;所以最后只好用最笨的方法,从前往后分别找到第一个偶数和第一个奇数,然后一个一个的挪动位置进行交换,这样可以满足题意,但是要注意遍历偶数的边界和while循环结束的条件

问题描述

  输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

代码实现

import java.util.Queue;
public class Solution {public void reOrderArray(int [] array) {int start = 0;int end   = 0;if(array.length==0){return ;}while(start<array.length){while(start<array.length&&(array[start]%2!=0)){start++;}end=start+1;while(end<array.length&&(array[end]%2==0)){end++;}if(end<array.length){int temp = array[end];for(int j=end; j>start; j--){array[j]=array[j-1];}array[start]=temp;}else{break;}}}
}

转载于:https://www.cnblogs.com/wanglinyu/p/8516729.html

调整数组顺序使奇数位于偶数前相关推荐

  1. java 取数组的前90位,LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面

    LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入 ...

  2. 剑指offer:面试题21. 调整数组顺序使奇数位于偶数前面

    题目:调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入:nums = [1,2,3,4 ...

  3. 《LeetCode力扣练习》剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java

    <LeetCode力扣练习>剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java 一.资源 题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组 ...

  4. 面试 6:调整数组顺序使奇数位于偶数前面

    今天给大家带来的是 <剑指 Offer>习题:调整数组顺序使奇数位于偶数前面,纯 Java 实现希望大家多加思考. 面试题:输入一个整型数组,实现一个函数来调整该数组中的数字的顺序,使得所 ...

  5. 【编程题目】调整数组顺序使奇数位于偶数前面

    54.调整数组顺序使奇数位于偶数前面(数组). 题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分, 所有偶数位于数组的后半部分.要求时间复杂度为 O(n). 小题,秒灭. ...

  6. python调整数组顺序使奇数位于偶数前面

    |调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分. 示例: 输入:nums = [1,2,3,4] 输出 ...

  7. 剑指Offer #13 调整数组顺序使奇数位于偶数前面 | 图文详解

    题目来源:牛客网-剑指Offer专题 题目地址:调整数组顺序使奇数位于偶数前面 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的 ...

  8. 《剑指offer》-- 调整数组顺序使奇数位于偶数前面、顺时针打印矩阵、数字在排序数组中出现的次数

    一.调整数组顺序使奇数位于偶数前面: 1.题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之 ...

  9. 【双100%解法】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

    立志用最少的代码做最高效的表达 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入:nums = [1,2,3,4] 输 ...

最新文章

  1. C语言结构体-大小,对齐,填充,使用及其他
  2. 独家解密:阿里是如何应对超大规模集群资源管理挑战的?
  3. 在控制台读取用户输入密码,你会么?
  4. 初步认识Volatile-从硬件层面了解可见性的本质
  5. 缓存-分布式锁-Redisson简介整合
  6. 用NPOI从DataBase到Excel '2
  7. 用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档
  8. 【jzoj】2018/2/2 NOIP普及组——D组模拟赛
  9. 一、ElasticSearch分词器概念
  10. python3最新版下载_python3.9下载-Python下载v3.9.0 官方最新版【x86|x64】-西西软件下载...
  11. 【优化算法】寄生-捕食算法(PPA)【含Matlab源码 1801期】
  12. CompoundButton
  13. HHL论文及代码理解(Generalizing A Person Retrieval Model Hetero- and Homogeneously ECCV 2018)...
  14. 我的科幻评论——《星船伞兵》:海因莱茵最经典又最不典型之作,平凡人类勇气与责任的赞歌
  15. 在OpenJweb平台中实现微信刷卡支付(被动扫码)
  16. 一只纯白小菜鸡是如何走上嵌入式学习这条道路的
  17. Cookie重名问题处理
  18. Home Assistant 开发指南
  19. 【话题】致敬伟大的科学家史蒂芬·霍金,他留下的预言能实现吗?
  20. 图片瀑布流加载和购物车

热门文章

  1. Vue源码学习(三)——数据双向绑定
  2. input的一些使用方法
  3. 怎样制作网吧服务器,网吧游戏服务器制作的过程是怎样的
  4. windows10资讯和兴趣怎么关闭?
  5. 如何在服务器上部署若依开源框架?(Linux版)
  6. html 自动滚动到底部,Javascript实现DIV滚动自动滚动到底部的代码
  7. 智能android电视更换播放器,GitHub - qfwc258/TvPlayer: android智能电视播放器,可以播放各电视台节目,播放基于ijkplayer的实现。...
  8. 我的世界服务器传送系统,我的世界多人服务器任何人都没权限了 不能回主城 不能传送 等等...
  9. java 内存管理 知乎_[知乎]Java 语言的 GC 为什么不实时释放内存?
  10. dell 重装linux系统_U盘装系统开机按哪个键