《剑指offer》调整数组顺序使奇数位于偶数前面
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
解法一:用两个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》调整数组顺序使奇数位于偶数前面相关推荐
- 剑指offer 调整数组顺序使奇数位于偶数前面
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 分析: 我的思路 ...
- 剑指offer-99.调整数组顺序使奇数位于偶数前面
0 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 1 分析 两边倒 ...
- 剑指offer0JZ81 调整数组顺序使奇数位于偶数前面(二)(C++,附思路)
描述 输入一个长度为 n 整数数组,数组里面可能含有相同的元素,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,对奇数和奇数,偶数和偶数之间的相对 ...
- 【LeetCode笔记】剑指 Offer 21-. 调整数组顺序使奇数位于偶数前面(Java、双指针)
文章目录 题目描述 思路 & 代码 二刷 题目描述 有点像快排的交换操作 思路 & 代码 类似快排中的找法,具体见代码注释 class Solution {public int[] e ...
- 【双100%解法】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
立志用最少的代码做最高效的表达 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入:nums = [1,2,3,4] 输 ...
- 《LeetCode力扣练习》剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java
<LeetCode力扣练习>剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java 一.资源 题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组 ...
- 剑指Offer #13 调整数组顺序使奇数位于偶数前面 | 图文详解
题目来源:牛客网-剑指Offer专题 题目地址:调整数组顺序使奇数位于偶数前面 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的 ...
- 【LeetCode】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
[LeetCode]剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 文章目录 [LeetCode]剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 一.双指针 一.双指针 解题思路: ...
- 剑指offer——面试题14:调整数组顺序使奇数位于偶数前面
剑指offer--面试题14:调整数组顺序使奇数位于偶数前面 Solution1: 顺序交换,比较好的算法!!! class Solution { public:void reOrderArray(v ...
- 剑指offer:面试题21. 调整数组顺序使奇数位于偶数前面
题目:调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入:nums = [1,2,3,4 ...
最新文章
- 使用模式创建一个面向服务的组件中间件
- 2019 好笔友-见字如面
- Spring-JdbcTemplate基本使用
- Delphi DLL制作和加载 Static, Dynamic, Delayed 以及 Shared-Memory Manager
- echarts案例链接
- MongoDB 教程五: MongoDB固定集合和性能优化 (索引Indexes, 优化器, 慢查询profile)
- 领略ES10的新功能
- leetcode 第2高的薪水 oracle_詹姆斯本赛季薪水3744万美元排在第6位,比他高的都有谁?...
- WordPress实践:上传文件时提示“缺少临时文件夹”
- 软件设计师09-面向对象-图集
- raw socket java_记一次蛋疼的Raw socket发送经历。附:Raw socket编程总结
- 性能测试——loadrunner_添加多个主机发送请求
- python中sorted函数的用法_Python中map,reduce,filter和sorted函数的使用方法
- jquery中ajax应用——get()和post()
- 训练集和测试集 (Training and Test Sets):拆分数据
- 关于int.prase的一些解析
- Android开发学习——2.Android开发环境准备
- php 产生国际时间,php时间国际化和本地转换
- Android自定义折线图,可设置基准线,不同点颜色
- tensorflow自定义GPU版本op节点
热门文章
- Effective Java之抛出与抽象相应的异常(六十一)
- 【解题报告】Leecode 438. 找到字符串中所有字母异位词——Leecode每日一题系列
- 【最简解法】1048 Find Coins (25 分)_18行代码AC
- 30行代码AC——例题6-3 矩阵链乘(Maxtrix Chain Multiplication, UVa 442)——解题报告
- [leetcode]541.反转字符串||
- c语言中常用的预处理命令6,C语言的预处理命令
- linux系统参加网络会议,在Deepin Linux系统下运行腾讯会议的方略
- java 接口的访问权限_证明接口interface中定义的方法的访问权限为public
- 操作篇 了解学习NAT实验(关于静态NAT、动态NAT、EasyIP、端口映射的配置方法))
- 等级考试文件服务器,内核级 Samba 文件共享服务器 CIFSD 正式开始测试