【LeetCode】面试题21. 调整数组顺序使奇数位于偶数前面(JAVA)

原题地址:https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/

题目描述:
【LeetCode】面试题21. 调整数组顺序使奇数位于偶数前面(JAVA)_第1张图片
解题方案:
普通的双指针还是容易想到的,参考答案写了一个变形版的,以及采用位运算分辨是否是奇数,提高效率。

代码:

class Solution {
    public int[] exchange(int[] nums) {
        int i = 0, j = nums.length - 1;
        while(i < j)
        {
            if((nums[i] & 1) == 1)
                i ++;
            else
            {
                int tmp = nums[i];
                nums[i] = nums[j];
                nums[j --] = tmp;
            }
        }
        return nums;
    }
}

你可能感兴趣的:(Leetcode)