题目地址:调整数组顺序使奇数位于偶数前面
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
解法分析
新建两个数组oddArr[]和evenArr[],然后遍历原数组,将遇到的奇数偶数分别存入新建的两个数组中,最后合并这两个数组即可。
代码
1 function reOrderArray(array) 2 { 3 // write code here 4 var oddArr = []; 5 var evenArr = []; 6 var oddNum = 0; 7 var evenNum = 0; 8 for(var i=0;i<array.length;i++){ 9 if(array[i] % 2 !== 0){ 10 oddArr[oddNum] = array[i]; 11 oddNum++; 12 }else{ 13 evenArr[evenNum] = array[i]; 14 evenNum++; 15 } 16 } 17 var newArr = oddArr.concat(evenArr); 18 return newArr; 19 }
执行结果