维护两个指针,第一个指针初始化时指向数组的第一个数字,它只向后移动(++),另一个指针初始化时指向数组的最后一个数字,它只向前移动(–)。在两个指针相遇之前,第一个指针总是位于第二个指针的前面。如果第一个指针指向的数字是偶数,第二个指针指向的数字是计数,就交换这两个数字。

void ReorderOddEven(int* seq, int n)
{   if (!seq || n <= 0)return;int  s = 0, t = n - 1;while (s < t){while (s < t && seq[s] & 1)++s;while (s < t && (seq[t] & 1) == 0)--t;if (s < t)swap(seq[s], seq[t]);}
}

【剑指 offer】(十四)—— 调整数组顺序使奇数位于偶数之前相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

  7. 《剑指offer》-- 调整数组顺序使奇数位于偶数前面、顺时针打印矩阵、数字在排序数组中出现的次数

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

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

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

  9. 【剑指offer - C++/Java】13、调整数组顺序使奇数位于偶数前面

    在线题目链接:调整数组顺序使奇数位于偶数前面 文章目录 1 题目描述 2 题目分析 2.1 方法1 2.11 Java代码 2.12 C++代码 2.2 方法2 2.21 Java代码 2.22 C+ ...

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

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

最新文章

  1. python max函数_Python3
  2. 数据归一化 - MinMaxScaler()/MaxAbsScaler() - Python代码
  3. 世界上最牛的网络设备,价格低廉,其貌不扬......
  4. VTK:Utilities之VectorArrayKnownLength
  5. springboot配置Filter的两种方法
  6. FastReport.net 使用记录
  7. java数据结构创建树_在java中创建树数据结构?
  8. linux rpm 查找,Linux下 rpm 命令查询方法
  9. 线上 ELK 集群健康值 red 状态问题排查与解决
  10. CentOS/RHEL Linux安装EPEL第三方软件源
  11. 过滤器 拦截器 controller 页面 的执行顺序
  12. 数据访问组件SqlHelper
  13. Rust : WSL下编程
  14. 算法:螺旋矩阵算出N行N列的数组Spiral Matrix II
  15. 松弛型内存模型(Relaxed memory models)的一个有趣的例子
  16. 30天自制操作系统第1天 - Hello World
  17. activiti实现请假流程
  18. kuberntes集群不能解析service ip故障排查记录
  19. 三相PFC程序30KW充电桩 30KW三相PFC程序
  20. 银联基于OpenStack 的“五高”生产金融云技术白皮书

热门文章

  1. 设计模式(三)结构型模式
  2. Android studio 更换maven源
  3. Linux进程最大socket数,Linux下高并发socket最大连接数所受的各种限制(详解)
  4. fscanf读出来的数字不正确_听了那么多数字英文儿歌,这位牛妈的做法却最能引导孩子输出!...
  5. Keras——用Keras搭建RNN分类循环神经网络
  6. Python基础——for循环语句
  7. CUDA 多GPU调用实现
  8. 类构造函数(Constructor)单冒号:用法
  9. 001 spring介绍
  10. jvm 虚拟机的组成部分