剑指Offer——调整数组顺序使奇数位于偶数前面(JS实现)
原创
©著作权归作者所有:来自51CTO博客作者wb59770b05237ae的原创作品,请联系作者获取转载授权,否则将追究法律责任
题目描述
解题思路
- 使用两个数组分别用来存储奇数和偶数
- 使用for循环遍历输入数组的每一个元素
- 当目标元素对2取余为0,说明该元素为偶数,偶数则加入偶数数组,反之则加入奇数数组
- 最后使用ES6中的拓展运算符将两个数组合并为一个进行返回,即是最后的答案
解题代码
var exchange = function(nums) {
const arr1 = [];
const arr2 = [];
for (let v of nums) {
if (v % 2 === 0) {
arr2.push(v);
} else {
arr1.push(v);
}
};
return [...arr1,...arr2];
};
总结
- 本题属于较为简单的循环遍历即可解决的问题。
- 本题的关键在于想到使用两个数组分别用来存储奇数和偶数。
- 知道如何把奇数和偶数判断出来。
- 知道使用拓展字符的方法合并数组,是我们要学习的地方。