輸入一個(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] 也是正確的答案之一。
代碼:
var exchange = function(nums) {
if (!nums.length) return nums
var l = 0
var r = nums.length-1
while(l<r){
if(nums[l]%2 !== 0){
l++
}else{
var temp = nums[l]
nums[l] = nums[r]
nums[r] = temp
r--
}
}
return nums
};
利用快排的思想,設(shè)置左右兩個(gè)指針。
不過(guò)要注意只能以一個(gè)指針為基礎(chǔ)來(lái)判斷,另一個(gè)指針用來(lái)在交換數(shù)值后,縮小查找范圍