劍指offer13---調整陣列順序使奇數位於偶數前面
阿新 • • 發佈:2018-12-20
輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序,使得所有的奇數位於陣列的前半部分,所有的偶數位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。
對於這個題,我一開始的做法是重新開闢一個新的陣列,然後遍歷原來的陣列,碰到奇數先存到新陣列,奇數存完之後,再遍歷原理陣列,碰到偶數,再存進去,當然,這個解法可以AC,但是實際複雜度,空間複雜度比較高。
第二個做法是,利用氣泡排序的思想,講奇數和偶數換位置,也是可以AC的。
public class Solution { public void reOrderArray(int [] array) { for(int i=0;i<array.length-1;i++) { for (int j = 0; j < array.length-1-i; j++) { if(array[j]%2==0&&array[j+1]%2==1) { int temp=array[j]; array[j]=array[j+1]; array[j+1]=temp; } } } } }