思路

两次遍历,第一次把奇数加到list中,第二次把偶数加到list中,时间复杂度为O(n)。
利用类似于插入排序的方法,但时间复杂度为O(n^2)。

代码

import java.util.ArrayList;
import java.util.List;
public class Solution {
public void reOrderArray(int[] array) {
List l=new ArrayList();
for(int i=0;i<=array.length-1;i++){
if(array[i]%2!=0){
l.add(array[i]);
}
} for(int i=0;i<=array.length-1;i++){
if(array[i]%2==0){
l.add(array[i]); }
}
for(int i=0;i<=l.size()-1;i++){
array[i]=(int)l.get(i);
}
}
}

如果不能开僻额外的空间,可以尝试有类似于冒泡排序的方法,如果当前的值为偶数,后一个值为奇数,则两个数对换位置:

public class Solution {
public void reOrderArray(int [] array) {
for(int i=0; i < array.length; i++){
for(int j=0; j<array.length-1; j++){
if(array[j] % 2 == 0 && array[j+1] % 2 != 0){
int temp = array[j+1];
array[j+1] = array[j];
array[j] = temp;
}
}
}
}
}

 

 

最新文章

  1. Mysql5.5升级到5.7后MySQLdb不能正常使用的问题解决
  2. [转]moveTaskToback退后台
  3. 怎么将java项目打包成双击就可以运行的jar包---fatjar
  4. JAVA中toString方法
  5. MSSQL 日期操作函数 总结
  6. (六)Jquery Mobile主题及插件的使用
  7. (转)centos6.5安装VNC
  8. Spring中多个工程停多个资源文件ignoreUnresolvablePlaceholders配置
  9. Netty4 学习笔记之三:粘包和拆包
  10. 非旋 treap 结构体数组版(无指针)详解,有图有真相
  11. 访问iis出现500.21错误
  12. 设备树..ing
  13. php中常用的正则表达式函数
  14. Android app内存限制OOM
  15. 【刷题】BZOJ 5312 冒险
  16. 【转】Android Studio开发应用桌面出现两个或多个图标
  17. Linux下面安装swoole
  18. Java学习笔记(4)----Public,Protected,Package,Private修饰符可见性
  19. 使用lets encrypt证书加密
  20. font-face自定义字体使用方法

热门文章

  1. css的一些样式
  2. 搭建nginx环境
  3. linux环境下安装python3的方法(转)
  4. SpringBoot定时任务(schedule、quartz)
  5. CI/CD持续集成小结
  6. mORMot学习笔记3 数据集转Json
  7. 底部版权时间自动变化,网页在线qq咨询
  8. JSON 对象和字符串
  9. 解读Position
  10. 自定义系统类加载器源码分析与forName方法底层剖析