1. 程式人生 > >劍指offer13---調整陣列順序使奇數位於偶數前面

劍指offer13---調整陣列順序使奇數位於偶數前面

輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序,使得所有的奇數位於陣列的前半部分,所有的偶數位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。

對於這個題,我一開始的做法是重新開闢一個新的陣列,然後遍歷原來的陣列,碰到奇數先存到新陣列,奇數存完之後,再遍歷原理陣列,碰到偶數,再存進去,當然,這個解法可以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;
				}
			}
        }
    }
}