题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。

代码实现:

public class Solution{
      public static void reorder(int[] arr){
             if(arr==null||arr.length==0){
                    return;
             }
             int begin=0;
             int end=arr.length-1;
             while(begin<end){
                   while(begin<end&&!isEven(arr[begin])){
                          begin++;
                   }
                   while(begin<end&&isEven(arr[end])){
                           end--;
                   }
                   if(begin<end){
                          int temp=arr[begin];
                          arr[begin]=arr[end];
                          arr[end]=temp;
                   }
             }
      }

       public static boolean isEven(int n){
              return (n&1)==0?true:false; //n&1==0判断n是否是偶数
       }

      public static void main(String[] args){
              int[] array={1,2,3,4,5};
              reorder(array);
              for(int i:array){
                    System.out.print(i+" ");
              }
      }
}

 

 

     

 posted on 2018-09-17 17:49  会飞的金鱼  阅读(88)  评论(0)    收藏  举报