请编写一个函数,其功能为输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。

请编写一个函数,其功能为输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。

    getNewArr(arr){
      let arr1 = []
      let arr2 = []
      for(let n in arr){
        if(arr[n]%2 == 0){
          arr1.push(arr[n])
        }else {
          arr2.push(arr[n])
        }
      }
      return arr2.concat(arr1)
    },
 
  this.arr = [1,2,3,4]
   console.log(this.getNewArr(this.arr))
  // [1,3,2,4]

原文地址:https://www.cnblogs.com/sinceForever/p/13463965.html