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

解法一:用两个list分别存储奇数以及偶数,然后合并list,再把list存到原来的数组里

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Solution {public void reOrderArray(int [] array) {List<Integer> list1 = new ArrayList<>();//存储奇数List<Integer> list2 = new ArrayList<>();//存储偶数for(int i:array){if(i%2!=0){list1.add(i);}else{list2.add(i);}}list1.addAll(list2);for(int i=0;i<array.length;i++){array[i]=list1.get(i);}}
}

解法二:比较好,参考其他人的解法,使用冒泡的思想,把偶数移到后端

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

《剑指offer》调整数组顺序使奇数位于偶数前面相关推荐

  1. 剑指offer 调整数组顺序使奇数位于偶数前面

    题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 分析: 我的思路 ...

  2. 剑指offer-99.调整数组顺序使奇数位于偶数前面

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

  3. 剑指offer0JZ81 调整数组顺序使奇数位于偶数前面(二)(C++,附思路)

    描述 输入一个长度为 n 整数数组,数组里面可能含有相同的元素,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,对奇数和奇数,偶数和偶数之间的相对 ...

  4. 【LeetCode笔记】剑指 Offer 21-. 调整数组顺序使奇数位于偶数前面(Java、双指针)

    文章目录 题目描述 思路 & 代码 二刷 题目描述 有点像快排的交换操作 思路 & 代码 类似快排中的找法,具体见代码注释 class Solution {public int[] e ...

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

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

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

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

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

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

  8. 【LeetCode】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

    [LeetCode]剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 文章目录 [LeetCode]剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 一.双指针 一.双指针 解题思路: ...

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

    剑指offer--面试题14:调整数组顺序使奇数位于偶数前面 Solution1: 顺序交换,比较好的算法!!! class Solution { public:void reOrderArray(v ...

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

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

最新文章

  1. 使用模式创建一个面向服务的组件中间件
  2. 2019 好笔友-见字如面
  3. Spring-JdbcTemplate基本使用
  4. Delphi DLL制作和加载 Static, Dynamic, Delayed 以及 Shared-Memory Manager
  5. echarts案例链接
  6. MongoDB 教程五: MongoDB固定集合和性能优化 (索引Indexes, 优化器, 慢查询profile)
  7. 领略ES10的新功能
  8. leetcode 第2高的薪水 oracle_詹姆斯本赛季薪水3744万美元排在第6位,比他高的都有谁?...
  9. WordPress实践:上传文件时提示“缺少临时文件夹”
  10. 软件设计师09-面向对象-图集
  11. raw socket java_记一次蛋疼的Raw socket发送经历。附:Raw socket编程总结
  12. 性能测试——loadrunner_添加多个主机发送请求
  13. python中sorted函数的用法_Python中map,reduce,filter和sorted函数的使用方法
  14. jquery中ajax应用——get()和post()
  15. 训练集和测试集 (Training and Test Sets):拆分数据
  16. 关于int.prase的一些解析
  17. Android开发学习——2.Android开发环境准备
  18. php 产生国际时间,php时间国际化和本地转换
  19. Android自定义折线图,可设置基准线,不同点颜色
  20. tensorflow自定义GPU版本op节点

热门文章

  1. Effective Java之抛出与抽象相应的异常(六十一)
  2. 【解题报告】Leecode 438. 找到字符串中所有字母异位词——Leecode每日一题系列
  3. 【最简解法】1048 Find Coins (25 分)_18行代码AC
  4. 30行代码AC——例题6-3 矩阵链乘(Maxtrix Chain Multiplication, UVa 442)——解题报告
  5. [leetcode]541.反转字符串||
  6. c语言中常用的预处理命令6,C语言的预处理命令
  7. linux系统参加网络会议,在Deepin Linux系统下运行腾讯会议的方略
  8. java 接口的访问权限_证明接口interface中定义的方法的访问权限为public
  9. 操作篇 了解学习NAT实验(关于静态NAT、动态NAT、EasyIP、端口映射的配置方法))
  10. 等级考试文件服务器,内核级 Samba 文件共享服务器 CIFSD 正式开始测试