面試題14:調(diào)整數(shù)組順序使奇數(shù)位于偶數(shù)前面

題目:輸入一個整數(shù)數(shù)組,實(shí)現(xiàn)一個函數(shù)來調(diào)整該數(shù)組中數(shù)字的順序,使得所有奇數(shù)位于數(shù)組的前半部分,所有偶數(shù)位于數(shù)組的后半部分。

public int[] Exchange(int[] nums)
{
    if (nums == null || nums.Length == 0) return nums;
    var begin = 0;
    var end = nums.Length - 1;
    while (begin < end)
    {
        while (begin < nums.Length && nums[begin]%2==1)
        {
            begin++;
        }
        while (end > 0 && nums[end] % 2 == 0)
        {
            end--;
        }
        if (begin < end)
        {
            var temp = nums[begin];
            nums[begin] = nums[end];
            nums[end] = temp;
        }
    }
    return nums;
}

這個題目要求把奇數(shù)放在數(shù)組的前半部分,偶數(shù)放在數(shù)組的后半部分,因此所有的奇數(shù)應(yīng)該位于偶數(shù)的前面。也就是說我們在掃描這個數(shù)組的時候,如果發(fā)現(xiàn)有偶數(shù)出現(xiàn)在奇數(shù)的前面,我們可以交換它們的順序,交換之后就符合要求了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容