题解 | #调整数组顺序使奇数位于偶数前面(二)#

调整数组顺序使奇数位于偶数前面(二)

http://www.nowcoder.com/practice/0c1b486d987b4269b398fee374584fc8

第七十九题
要么直接用1的代码 也都对的,要么像快拍一样 双指针 交换左右两边的位置
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param array int整型vector 
     * @return int整型vector
     */
    vector<int> reOrderArrayTwo(vector<int>& array) {
        // write code here
        int left = 0,right = array.size()-1;
        // 和快拍一样 左右指针交换
        // 找到左边第一个不是奇数,右边第一个不是偶数 两个交换
        // 循环结束条件 左边指针>=右边指针
        while(left < right){
            while(left < right && array[left]%2 == 1)
                left++;
            while(left < right && array[right]%2 == 0)
                right--;
            swap(array[left],array[right]);
        }
        return array;
    }
};

题解 文章被收录于专栏

一遍做剑指offer 一边保存做题步骤 并附带详细注释哦

全部评论

相关推荐

面试摇了我吧:啊哈哈面试提前五个小时发,点击不能参加就是放弃
点赞 评论 收藏
分享
头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务