欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript版《剑指offer》刷题(12)调整数组顺序使奇数位于偶数前面

程序员文章站 2022-07-10 12:16:34
...

1.题目描述

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

2.思路

1.新建两个数组,分别用来存放奇数和偶数;
2.将偶数的数组连接到奇数数组后面。

3.代码

function reOrderArray(array)
{
    var odd = [];
    var even = [];
    for(var i=0;i<array.length;i++){
        if((array[i]%2)===0){
            even.push(array[i]);
        }else{
            odd.push(array[i])
        }
    }
    return odd.concat(even);
}

相关知识:

1.push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
2.concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

参考文章:
https://www.cnblogs.com/echovic/p/6430676.html
https://www.cnblogs.com/wuguanglin/p/reOrderArray.html
https://github.com/DavidChen93/-offer-JS-/blob/master/15.1 二进制中1的个数.js