題目描述
輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位於數組的前半部分,所有偶數位於數組的後半部分。
示例:
輸入:nums = [1,2,3,4]
輸出:[1,3,2,4]
注:[3,1,2,4] 也是正確的答案之一。
提示:
1 <= nums.length <= 50000
1 <= nums[i] <= 10000
代碼實現
class Solution {
public int[] exchange(int[] nums) {
int i=0,j=nums.length-1;
int t;
while(i<j){
//從左遍歷直到找到第一個偶數
while(nums[i]%2 != 0 && i<nums.length-1){
i++;
}
//從右遍歷直到找到第一個奇數
while(nums[j]%2 == 0 && j>0){
j--;
}
if(i<j){
t = nums[i];
nums[i] = nums[j];
nums[j] = t;
}
}
return nums;
}
}