【剑指offer】调整数组顺序使得奇数位于偶数前面

来源:互联网 发布:淘宝现在改版了吗 编辑:程序博客网 时间:2024/05/18 14:13

【解题思路:】

两个指针分别位于数组的首位,当满足交换条件(前指针为偶数,后指针为奇数时候交换指针中对应的内容)

【其他】

判断奇数偶数: 位操作  (&1决定最后一位是0 还是1 从而决定奇数偶数)

public class ChangeEven {public static void main(String[] args){int[] array={0};System.out.println("hello");changeEven(array,array.length);print(array,array.length);}private static void print(int[] array, int size) {// TODO Auto-generated method stubif(array==null||size==0) return;for(int i=0;i<size;i++)System.out.println(array[i]+" " );}public static void changeEven(int[] array, int size) {// TODO Auto-generated method stubif(array==null||size==0)return;int i_bef=0;int i_beh=size-1;while(i_bef<i_beh){if(even(array[i_bef])==true&&even(array[i_beh])==false){int temp=array[i_bef];array[i_bef]=array[i_beh];array[i_beh]=temp;i_bef++;i_beh--;}if(even(array[i_bef])==false)i_bef++;if(even(array[i_beh])==true)i_beh--;}}private static boolean even(int i) {// TODO Auto-generated method stubboolean result=false;if((i&1)==0)result=true;return result;}}


0 0
原创粉丝点击