調整數組順序使奇數位於偶數前面

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


思路:遍歷數組,將數組中的所有奇數按順序存在鏈表一中,將所有偶數按順序存在鏈表二中,遍歷鏈表一將其所存儲的所有奇數值賦值給數組的前半部分,遍歷鏈表二將其所存儲的所有偶數值賦值給數組的後半部分,代碼如下:

import java.util.ArrayList;
public class Solution {
    public void reOrderArray(int [] array) {
        if(array==null||array.length==0){
            return;
        }

        ArrayList<Integer> oddList = new ArrayList<Integer>();
        ArrayList<Integer> evenList = new ArrayList<Integer>();
        
        for(int i:array){
            if(i%2==0){
                evenList.add(i); 
            }else{
                oddList.add(i);
            }
        }
        for(int i=0;i<oddList.size();i++){
            array[i] = oddList.get(i);
        }
        for(int i=oddList.size();i<array.length;i++){
            array[i] = evenList.get(i-oddList.size());
        }
    }
}


發佈了50 篇原創文章 · 獲贊 11 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章