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

xiaoxiao2021-02-28  100

题目描述

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 分类:数组 解法1:类似选择排序,遍历每个元素,对于奇数, 向前遍历,使其前面的偶数向后覆盖,直到遇上奇数,结束遍历,最后将奇数放入正确位置 [java]  view plain  copy public class Solution {       public void reOrderArray(int [] array) {           for(int i=1;i<array.length;i++){               int temp = array[i];               if(array[i] % 2 == 1){//如果遇上奇数                   int j = i-1;                   while(j>=0 && (array[j]%2)==0){//向前覆盖,直到遇到偶数                       array[j+1] = array[j];                                     j--;                   }                   array[j+1] = temp;//找到奇数的正确位置               }           }       }   }  
转载请注明原文地址: https://www.6miu.com/read-96454.html

最新回复(0)