題目:
輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位於數組的前半部分,所有偶數位於數組的後半部分。
題解:
使用頭尾雙指針,頭指針找出偶數,尾指針找出奇數,然後交換即可。
代碼實現
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;
}
}