劍指Offer之調整數組順序使奇數位於偶數前邊

題目:

  輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位於數組的前半部分,所有偶數位於數組的後半部分。

題解:

  使用頭尾雙指針,頭指針找出偶數,尾指針找出奇數,然後交換即可。

  代碼實現

public class Solution 
{
    public int[] Exchange(int[] nums) 
    {
        int i = 0,j = nums.Length-1;
        while(i < j)
        {
            //找到偶數
            if(nums[i] % 2 == 1)
            {
                i++;
                continue;
            }
            //找到奇數
            if(nums[j] % 2 == 0)
            {
                j--;
                continue;
            }
            //交換即可
            int temp = nums[i];
            nums[i] = nums[j];
            nums[j] = temp;
        }
        return nums;
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章