剑指Offer21,调整数组顺序使奇数位于偶数前面

Posted 小布丁value

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer21,调整数组顺序使奇数位于偶数前面相关的知识,希望对你有一定的参考价值。

/*
* 调整数组顺序使得奇数在前,偶数在后
* 代码思路:
* 双指针
* 从前往后找奇数,从后往前找偶数
* 找到交换,两个指针相等时循环停止
* */
public class Day1016 {
    public static void main(String[] args) {
        int [] arr={1,2,4,5,6,3};
        Order(arr);
        System.out.println(Arrays.toString(arr));
    }
    public static void Order(int [] arr){
        int i=0,j=arr.length-1;
        while(i<j){
            //停到了偶数
           while(i<j&&arr[i]%2!=0){
                i++;
            }
            //停到了奇数
            while(i<j&&arr[j]%2==0){
                j--;
            }
            //两数进行交换
            int temp=arr[i];
            arr[i]=arr[j];
            arr[j]=temp;
        }
    }
}

以上是关于剑指Offer21,调整数组顺序使奇数位于偶数前面的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer打卡21. 调整数组顺序使奇数位于偶数前面

剑指Offer打卡21. 调整数组顺序使奇数位于偶数前面

剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

算法剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

剑指Offer21,调整数组顺序使奇数位于偶数前面