欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

剑指offer:调整数组顺序使奇数位于偶数前面

发布时间:2025/4/5 编程问答 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 剑指offer:调整数组顺序使奇数位于偶数前面 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

      • 分析
      • 题目来源


分析

快排的思想:前后两个指针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:调整数组顺序使奇数位于偶数前面的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。