AcWing
  • 首页
  • 活动
  • 题库
  • 竞赛
  • 应用
  • 更多
    • 题解
    • 分享
    • 商店
    • 问答
  • 吐槽
  • 登录/注册

AcWing 32. 调整数组顺序使奇数位于偶数前面    原题链接    简单

作者: 作者的头像   米多奇香米饼 ,  2023-01-23 11:53:21 ,  所有人可见 ,  阅读 26


0


双指针算法

定义两个指针,一个从前往后,另外一个从后往前,
首先操作第1个指针,当第一个指针指向偶数时停下,
接着操作第2个指针,第二个指针指向奇数时停下,
将两个指针所指向的变量进行交换,再进行下一次迭代,直到两个指针相遇

class Solution {
public:
    void reOrderArray(vector<int> &array) {
         int l = 0, r = array.size() - 1;
         while (l < r) {
             while (l < r && array[l] % 2 == 1) l ++ ;
             while (l < r && array[r] % 2 == 0) r -- ;
             if (l < r) swap(array[l], array[r]);
         }
    }
};

0 评论

你确定删除吗?
1024
x

© 2018-2023 AcWing 版权所有  |  京ICP备17053197号-1
用户协议  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标
请输入绑定的邮箱地址
请输入注册信息