《剑指Offer》 调整数组顺序使奇数位于偶数前面
题目描述:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路:
先取array的大小,设置保存奇数的队列odd,设置保存偶数的队列even(因为队列能保存先进先出,所以奇数和偶数顺序分别都不变)。如果是偶数放到even里,如果是奇数放到odd里。先将奇数赋给array的前oddsize个,再将偶数赋给array的。
代码:
class Solution {
public:void reOrderArray(vector<int> &array) {int size=array.size();//取array的大小queue<int> odd;//设置保存奇数的队列queue<int> even;//设置保存偶数的队列for(int i=0;i<size;++i){//因为队列能保存先进先出,所以奇数和偶数顺序分别都不变if(array[i]%2==0){//如果是偶数even.push(array[i]);}else{odd.push(array[i]);}}int oddsize=odd.size();//取奇数个数for(int j=0;j<oddsize;++j){//先将奇数赋给array的前oddsize个array[j]=odd.front();odd.pop();}for(int k=oddsize;k<size;++k){//再将偶数赋给array的array[k]=even.front();even.pop();}}
};
输出结果: 运行时间: <1 ms 占用内存:8552K 状态:答案正确
《剑指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 ...
最新文章
- 陆首群:评人工智能如何走向新阶段?
- xp系统怎样安装传真服务器,XP系统下如何安装传真机 XP系统安装传真机的详细步骤[图文教程]...
- 中国数据中心市场时评—简析全国数据中心布局情况
- 最全面的AndroidStudio配置指南总结-包括护眼模式
- SSM汽车销售平台的设计与实现毕业设计源码171619
- ​ZMC运动控制器SCARA机械手应用快速入门
- CMAQ-5.2安装及测试数据运行
- 玩拍七不再怕,判断7的倍数有妙招
- JS,两种在页面加载完成后自动执行的方法(ready,onload)
- 这一天,我给自己写了一封信
- nbu备份本机oracle,使用NetBackup进行oracle备份和恢复
- 电子邮件发送服务器怎么看钱,验证电子邮件的验证码是发到哪里
- k-means算法与pca结合对多特征组聚类
- C#,数值计算,矩阵的乔莱斯基分解(Cholesky decomposition)算法与源代码
- nasm纠正性训练指南pdf_打开部队军事体能训练科学化的钥匙军人身体运动功能评估(EMPF)...
- onenote2007 设置行间距
- 鼠标交互的使用与优化
- win7一关机电脑就蓝屏
- 而我, 选择了人迹更少的一条路
- 【LeetCode】1400. 构造 K 个回文字符串 Construct K Palindrome Strings