題目
輸入一個(gè)整數(shù)數(shù)組,實(shí)現(xiàn)一個(gè)函數(shù)來(lái)調(diào)整該數(shù)組中數(shù)字的順序,使得所有奇數(shù)位于數(shù)組的前半部分,所有偶數(shù)位于數(shù)組的后半部分。
示例:
輸入:nums = [1,2,3,4]
輸出:[1,3,2,4]
注:[3,1,2,4] 也是正確的答案之一。
題目解析
將奇數(shù)移動(dòng)到前面,假設(shè)數(shù)組內(nèi)共有 x 個(gè)奇數(shù),那么奇數(shù)的下標(biāo)分布為為 0 - x
此題在解法上類(lèi)似移動(dòng)零 http://www.lxweimin.com/p/0da61824924d
第一次
多種解法請(qǐng)參考移動(dòng)零,本次僅解答本題相對(duì)較優(yōu)解法。
class Solution {
public int[] exchange(int[] nums) {
if (nums == null) return null;
int index = 0;
for (int i = 0; i < nums.length; i++) {
if ((nums[i] & 1) != 0) {
int t = nums[index];
nums[index] = nums[i];
nums[i] = t;
index++;
}
}
return nums;
}
}