剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

剑指 Offer 21. 调整数组顺序使奇数位于偶数前面_第1张图片

class Solution {
    public int[] exchange(int[] nums) {
    // 定义双指针,左右两端进行移动
        int left = 0,right = nums.length - 1;
        // 只要left < right就一直进行移动
        while(left < right) {
        // 左指针为奇数,就继续向右移动
            while(left < right && nums[left] % 2 == 1) {
                left++;
            }
            // 存储左指针数据
            int temp = nums[left];
        // 右指针为偶数,就继续向左移动
            while(left < right && nums[right] % 2 == 0) {
                right--;
            }
            // 交换左右指针的数据
            nums[left] = nums[right];
            nums[right] = temp;
        }
        return nums;
    }
}

你可能感兴趣的:(剑指offer,leetcode,算法,数据结构)