文章目录

  • 分析
  • 题目来源


分析

快排的思想:前后两个指针left和right分别从左往右遍历,和从右往左遍历。

  • 对于left,如果是奇数,left一直右移;
  • 对于right,如果是偶数,right一直左移;
  • 如果两个指针没有相遇,就交换两个指针所指向的元素。
  • 在相遇时退出。

ac代码

class Solution {public:vector<int> exchange(vector<int>& nums) {int left = 0 ,right = nums.size() - 1;while (left < right) {while (left < right && nums[left] % 2 == 1) left ++;while (left < right && nums[right] % 2 == 0) right --;if (left < right) swap(nums[left],nums[right]);}return nums;}
};

题目来源

https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/

https://www.acwing.com/problem/content/30/

剑指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. Mac下配置Maven
  2. php 打开任意文件下载,TEC-004-php文件下载任意文件读取漏洞修复
  3. storm_常用命令
  4. Mybatis工作流程及其原理与解析
  5. java实现图片对比功能_Java 照片对比功能的实现
  6. 【MFC】带下拉菜单的工具栏
  7. 基于强跟踪卡尔曼滤波的隔振系统故障诊断——matab simulink仿真
  8. python闭包技巧_案例详析:Python闭包与nonlocal关键字
  9. 重装mysql 失败_重装MySQL最后一步失败的解决办法
  10. 系统迁移到ssd 开启哪些服务器,如何使用分区助手完美迁移系统到SSD固态硬盘...
  11. 做一个有意境的女人难上加难
  12. (一)线段树入门--补充与其他模板
  13. robots.txt漏洞
  14. Python复习 基础知识
  15. 用pip freeze >requirements.txt命令迁移模块
  16. 四川文科高考300分可以上什么专科
  17. 初中级前端面试复习总结(浏览器、HTTP、前端安全)
  18. Mac下安装与使用Medis
  19. 基于淘宝开源Tair分布式KV存储引擎的整合部署
  20. 公钥密码的三大数学问题

热门文章

  1. Storm具体的解释(二)、成为第一Storm申请书
  2. java执行时的两个常见问题(无法加载主类)
  3. oracle 查看 用户,用户权限,用户表空间,用户默认表空间
  4. POJ 2075 Tangled in Cables
  5. C# 集合类(三):Stack
  6. python dataframe去掉索引_关于python:删除具有重复索引的行(Pandas DataFrame和TimeSeries)...
  7. c 递归下降识别程序_看动画轻松理解递归与动态规划
  8. 应用化学:顺式丁烯醛与反式丁烯醛的网络
  9. 用神经网络做分子模型是不是扯淡,f2,cl2,br2分子模型
  10. centos 安装vscode_CentOS6下安装VSCode