輸入一個整數(shù)數(shù)組,實現(xiàn)一個函數(shù)來調(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è)置左右兩個指針骑晶。
不過要注意只能以一個指針為基礎(chǔ)來判斷,另一個指針用來在交換數(shù)值后草慧,縮小查找范圍