剑指21 调整数组使奇数位于偶数前面

  1. class Solution {
  2. public int[] exchange(int[] nums) {
  3. if (nums == null)
  4. return null;
  5. int start = 0, end = nums.length - 1;
  6. while (start < end) {
  7. while ((start < end) && (nums[start] & (0x1)) == 1)
  8. ++start;
  9. while ((start < end) && (nums[end] & (0x1)) == 0)
  10. --end;
  11. if (start < end) {
  12. int temp = nums[start];
  13. nums[start] = nums[end];
  14. nums[end] = temp;
  15. }
  16. }
  17. return nums;
  18. }
  19. }