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

Posted 水坚石青

tags:

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

调整数组顺序使奇数位于偶数前面


题目:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
代码:

package com.hlq.test;

/**
 * @author helongqiang
 * @date 2020/5/15 23:22
 */

/**
 * 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,
 * 使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后
 * 半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
 */

public class Solution 

    public void reOrderArray(int[] array)
        int len = array.length;
        if(len <= 1)
            return;
        
        int i = 0;
        while (i <= len)
            if(array[i] % 2 == 1) 
                i++;
            else
                int j = i + 1;
                while (array[j] % 2 == 0)
                    if(j == len-1)
                        return;
                    
                    j++;
                
                int tmp = array[j];
                while(j > i)
                    array[j] = array[j-1];
                    j--;
                
                array[i] = tmp;
            
        
    


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

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

《剑指Offer》题目:调整数组顺序使奇数位于偶数前面

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

剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 的详细题解

《剑指Offer——调整数组顺序使奇数位于偶数前面》代码

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