剑指 Offer 21. 调整数组顺序使奇数位于偶数前面--参考别人的题解的启示-优先使用位运算符

剑指 Offer 21. 调整数组顺序使奇数位于偶数前面--参考别人的题解的启示-优先使用位运算符
第一种解法:

class Solution {
    public int[] exchange(int[] nums) {
        int[] res = new int[nums.length];
        int left = 0;
        int right = nums.length - 1;
        for (int num : nums) {
           //重点这下面这行
            if ((num&1)== 0) {
               
            res[right--] = num;
            } else {
                   res[left++] = num;
            }
        }

        return res;
    }
}

1ms 48.1mb

第二种解法:不用位运算符

class Solution {
    public int[] exchange(int[] nums) {
        int[] res = new int[nums.length];
        int left = 0;
        int right = nums.length - 1;
        for (int num : nums) {
    //重点这下面这行      
    if (num%2 == 0) {
               
            res[right--] = num;
            } else {
                   res[left++] = num;
            }
        }

        return res;
    }
}

2ms  48mb

所以,能用位运算就用位运算

上一篇:2022-01-21


下一篇:22.1.21 与哈希函数有关的结构