标签:swap 偶数 mamicode tmp code oid 奇数 函数 class
题目:
输入一个整型数组,实现一个函数来调整数组中数字中顺序。使得所有奇数位于数组的前半部分,所有的偶数位于数组的后半部分。
解答:
1 public class Solution { 2 3 public static void reOrer(int[] array) { 4 if(array == null || array.length == 0) { 5 return; 6 } 7 8 return reOrder(array, array.length); 9 } 10 11 private static void reOrder(int[] array, int length) { 12 int begin = 0; 13 int end = length-1; 14 15 while(begin < end) { 16 // 找到一个偶数 17 while(begin < end && !isEven(array[begin])) { 18 begin++; 19 } 20 21 // 找到一个奇数 22 while(begin < end && isEven(array[end])) { 23 end--; 24 } 25 26 if(begin < end) { 27 swap(array, begin, end); 28 } 29 } 30 } 31 32 // 判断是否为偶数 33 private static boolean isEven(int n) { 34 return (n&1) == 0; 35 } 36 37 private static void swap(int[] array, int begin, int end) { 38 int tmp = array[begin]; 39 array[begin] = array[end]; 40 array[end] = tmp; 41 } 42 }
标签:swap 偶数 mamicode tmp code oid 奇数 函数 class
原文地址:https://www.cnblogs.com/wylwyl/p/10472873.html