1. 题目

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。

示例:
输入:nums = [1,2,3,4]
输出:[1,3,2,4]
注:[3,1,2,4] 也是正确的答案之一。提示:
1 <= nums.length <= 50000
1 <= nums[i] <= 10000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 双指针原地解法

class Solution {public:vector<int> exchange(vector<int>& nums) {//odd奇数,even偶数int odd = nums.size()-1, even = 0;while(even < odd){while(even < odd && nums[even]%2 != 0)even++;//从前往后找到偶数while(even < odd && nums[odd]%2 == 0)odd--;//从后往前找到奇数swap(nums[even], nums[odd]);}return nums;}
};

剑指Offer - 面试题21. 调整数组顺序使奇数位于偶数前面(双指针,原地算法)相关推荐

  1. 剑指offer面试题21. 调整数组顺序使奇数位于偶数前面(双指针)

    题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 思路 详见链接 代码 class Solution:def exchan ...

  2. 剑指offer面试题[14]-调整数组顺序使奇数位于偶数前面

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

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

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

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

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

  5. 【剑指offer-Java版】14调整数组顺序使奇数位于偶数前面

    调整数组顺序使奇数位于偶数前面:遍历交换 特殊输入: 1) 只有一个数字 2) 全奇数或者全偶数 3) 空指针 4) 正常输入 考虑到扩展性,C++里面使用了函数指针来实现,但是对于java,可以采用 ...

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

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

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

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

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

    剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 思路一:使用快慢双指针 1: i找偶数找到了,继续往下执行,找不到i++ 2:j找奇数,找到了继续往下执行,找不到j– 3:最后交换 clas ...

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

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

最新文章

  1. centos运行jar包需要的环境_Centos7服务器下启动jar包项目的最佳方法
  2. Struts2之ModelDriven
  3. c java 异常_javac -version 异常
  4. sftp 中文乱码 连接后_sftp服务器中文乱码
  5. 《敏捷企业》作者访谈录
  6. Python天气预报查询
  7. 大数据技术的发展方向
  8. python定义数据框大小_python – 如何设置框架的最小和最大高度或宽度?
  9. 楼宇智能化工程设计、施工、验收规范目录
  10. Design Tradeoffs for SSD Performance
  11. IV值和WOE值的理解
  12. 360隐私保护器直指腾讯QQ 360真的发飙了,百度旁观!
  13. 程序龙的密码(递归算法)
  14. 剖析钉钉:B端产品的C端化运营策略
  15. python 画图 平滑曲线_用Python平滑曲线
  16. php安装xmeet,XMeet下载-XMeet官方版下载V1.8.4-99wo下载站
  17. 滑模控制学习笔记(六)
  18. 主流的企业级虚拟化解决方案
  19. 每天不知道吃什么,于是我做了个随机选择的小程序
  20. PTA 直捣黄龙 (30 分)

热门文章

  1. redhat虚拟机安装
  2. C语言中#define的用法(转)
  3. C#中的DBNull、Null、String.Empty和“”
  4. SOCKET通信的基本步骤
  5. 选择排序 冒泡排序 二分查找
  6. oracle闪回某个时间点的数据库,oracle11g 使用闪回查询恢复表到过去某一个时间点...
  7. 计算机三级会保研加分吗,366所高校有保研资格,除了对成绩有要求外,还有哪些要求?...
  8. PHP json_encode后的数据有的大括号于中括号
  9. jQuery源码分析系列:事件模块概述
  10. CYQ.DBImport 数据库反向工程及批量导数据库工具 V2.0 发布[增加批量导出数据库脚本及数据库设计文档]...