双指针 主要思想:一个奇数的指针指向首向后扫描,一个偶数的指针指向尾向前扫描,当奇数指针指向偶数、偶数指针指向奇数时,交换两方的元素,继续扫描。 时间复杂度:O(N) 空间复杂度:O(1)
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param array int整型一维数组
* @return int整型一维数组
*/
function reOrderArrayTwo( array ) {
if(array.length==0||array.length==1)return array;
let odd=0;
let even=array.length-1;
let temp=0;
while(1){
while(array[odd]!=undefined&&array[odd]%2!=0) odd++;
while(array[even]!=undefined&&array[even]%2==0) even--;
if(odd<even){
temp=array[odd];
array[odd]=array[even];
array[even]=temp;
}else break;
}
return array;
}
module.exports = {
reOrderArrayTwo : reOrderArrayTwo
};