剑指offer:调整数组顺序使奇数位于偶数前面
生活随笔
收集整理的这篇文章主要介绍了
剑指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:调整数组顺序使奇数位于偶数前面的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 剑指offer:表示数值的字符串cpp题
- 下一篇: 剑指offer:链表中倒数第k个节点