【路飞】js 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

114 阅读1分钟

题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。

示例:

输入: nums = [1,2,3,4]
输出: [1,3,2,4] 
注: [3,1,2,4] 也是正确的答案之一。

解题:

遍历整个数组,先做一个判断,该数值是奇数还是偶数。如果是偶数就用push进去放入数组的最后;反之,则用unshift 放入数组的前面。

/**
 * @param {number[]} nums
 * @return {number[]}
 */
var exchange = function(nums) {
    let newArr = []
    for (let i = 0; i < nums.length; i++) {
         if(nums[i]%2===0){
             newArr.push(nums[i])
         } else {
             newArr.unshift(nums[i])
         }
     }
         return newArr

};