题目链接:点击打开链接
题目大意:略
解题思路:略
相关企业
- 字节跳动
AC 代码
- Java
// 解决方案(1) class Solution { public int[] exchange(int[] nums) { int len = nums.length; Listl1 = new ArrayList<>(); List l2 = new ArrayList<>(); for (int i = 0; i < len; i++) { if (nums[i] % 2 != 0) { l1.add(nums[i]); } else { l2.add(nums[i]); } } l1.addAll(l2); int[] rs = new int[len]; for (int i = 0; i < l1.size(); i++) { rs[i] = l1.get(i); } return rs; } } // 解决方案(2) class Solution { public int[] exchange(int[] nums) { int i = 0, j = nums.length - 1, tmp; while(i < j) { while(i < j && (nums[i] & 1) == 1) i++; while(i < j && (nums[j] & 1) == 0) j--; tmp = nums[i]; nums[i] = nums[j]; nums[j] = tmp; } return nums; } }
- C++
class Solution { public: vectorexchange(vector & nums) { int i = 0, j = nums.size() - 1; while (i < j) { while(i < j && (nums[i] & 1) == 1) i++; while(i < j && (nums[j] & 1) == 0) j--; swap(nums[i], nums[j]); } return nums; } };