13、調(diào)整數(shù)組順序晌块,使奇數(shù)位于偶數(shù)前面

題目描述
輸入一個整數(shù)數(shù)組爱沟,實現(xiàn)一個函數(shù)來調(diào)整該數(shù)組中數(shù)字的順序,使得所有的奇數(shù)位于數(shù)組的前半部分匆背,所有的偶數(shù)位于位于數(shù)組的后半部分呼伸,并保證奇數(shù)和奇數(shù),偶數(shù)和偶數(shù)之間的相對位置不變钝尸。

import java.util.ArrayList;
public class Solution {
    public void reOrderArray(int [] array) {
        ArrayList<Integer> list = new ArrayList<>();
        //第一次遍歷取出所有奇數(shù)
        for(int i=0; i<array.length; i++){
            if(array[i]%2!=0){
                list.add(array[i]);
            }
        }
        //第二次遍歷取出所有偶數(shù)
        for(int i=0; i<array.length; i++){
            if(array[i]%2==0){
                list.add(array[i]);
            }
        }
        
        //第二次遍歷取出所有偶數(shù)
        for(int i=0; i<array.length; i++){
            array[i]=list.get(i);
        }
    }
}

第二遍做的時候括享,如果不考慮保持原有順序搂根,比較好的做法:

import java.util.ArrayList;
public class Solution {
    public void reOrderArray(int [] array) {
        //用兩個指針,一個指向頭部铃辖,一個指向尾部
        int a = 0;
        int b = array.length-1;
        while(a<b){
            //如果前端是奇數(shù)
            if(array[a]%2!=0){
                a++;
                continue;
            }
            //如果后端是偶數(shù)
            if(array[b]%2==0){
                b--;
                continue;
            }
            //如果前端是偶數(shù)剩愧,后端是奇數(shù),交換位置
            if(array[a]%2==0 && array[b]%2!=0){
                int tmp = array[a];
                array[a] = array[b];
                array[b] = tmp;
                a++;
                b--;
            }
        }
    }
}

當(dāng)然了娇斩,題目要求保持原有的奇數(shù)和奇數(shù)順序仁卷、偶數(shù)和偶數(shù)的順序,如果再要求只能在原數(shù)組上進(jìn)行操作:

import java.util.ArrayList;
public class Solution {
    public void reOrderArray(int [] array) {
        /*
        類似冒泡排序犬第,每次使最右邊的偶數(shù)沉底
        */
        for(int i=0; i<array.length; i++){
            for(int j=0; j<array.length-1-i; j++){
                if(array[j]%2==0 && array[j+1]%2!=0){
                    int tmp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = tmp;
                }
            }
        }
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锦积,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子瓶殃,更是在濱河造成了極大的恐慌,老刑警劉巖副签,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件遥椿,死亡現(xiàn)場離奇詭異,居然都是意外死亡淆储,警方通過查閱死者的電腦和手機冠场,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來本砰,“玉大人碴裙,你說我怎么就攤上這事〉愣睿” “怎么了舔株?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長还棱。 經(jīng)常有香客問我载慈,道長,這世上最難降的妖魔是什么珍手? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任办铡,我火速辦了婚禮,結(jié)果婚禮上琳要,老公的妹妹穿的比我還像新娘寡具。我一直安慰自己,他們只是感情好稚补,可當(dāng)我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布童叠。 她就那樣靜靜地躺著,像睡著了一般课幕。 火紅的嫁衣襯著肌膚如雪拯钻。 梳的紋絲不亂的頭發(fā)上帖努,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天,我揣著相機與錄音粪般,去河邊找鬼拼余。 笑死,一個胖子當(dāng)著我的面吹牛亩歹,可吹牛的內(nèi)容都是我干的匙监。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼小作,長吁一口氣:“原來是場噩夢啊……” “哼亭姥!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起顾稀,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤达罗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后静秆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體粮揉,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年抚笔,在試婚紗的時候發(fā)現(xiàn)自己被綠了扶认。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡殊橙,死狀恐怖辐宾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情膨蛮,我是刑警寧澤叠纹,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站敞葛,受9級特大地震影響吊洼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜制肮,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一冒窍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧豺鼻,春花似錦综液、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春附帽,著一層夾襖步出監(jiān)牢的瞬間埠戳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工蕉扮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留整胃,地道東北人。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓喳钟,卻偏偏與公主長得像屁使,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子奔则,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容