剑指第21题 调整数组顺序使得奇数位于偶数的前面
想法:
剑指上面的题目真的就很人性化,很简单,也不会有什么难理解的地方,我这个题分别用了for循环和增强for循环,我觉得唯一可以优化的点也就是在对于数组中奇数和偶数的判断了, num & 1 == 0 这就是偶数 num & 1 != 0 说明这就是奇数 但是我不理解的一点是,为什么我是一定需要把这个东西给括住 难道是位运算的优先级比较低吗? 我真的不懂
class Solution {
public int[] exchange(int[] nums) {
//剑指第21题 调整数组顺序使得奇数位于偶数的前面
//这个题感觉其实也很简单的 创建一个新的数组往里面填就好了
int[] res = new int[nums.length];
int j = 0;
for (int i = 0; i < nums.length; i++) {
if ((nums[i] & 1) != 0) {
res[j++] = nums[i];
}
}
for (int i : nums) {
if ((i & 1) == 0) {
res[j++] = i;
}
}
return res;
}
}