剑指offer:调整数组顺序使奇数位于偶数前面
生活随笔
收集整理的這篇文章主要介紹了
剑指offer:调整数组顺序使奇数位于偶数前面
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 分析
- 題目來源
分析
快排的思想:前后兩個指針left和right分別從左往右遍歷,和從右往左遍歷。
- 對于left,如果是奇數(shù),left一直右移;
- 對于right,如果是偶數(shù),right一直左移;
- 如果兩個指針沒有相遇,就交換兩個指針?biāo)赶虻脑亍?/li>
- 在相遇時退出。
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/
總結(jié)
以上是生活随笔為你收集整理的剑指offer:调整数组顺序使奇数位于偶数前面的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剑指offer:表示数值的字符串cpp题
- 下一篇: 剑指offer:链表中倒数第k个节点