leetcode_922 按奇偶排序数组

遍历一遍,用两个指针分别记录奇数和偶数,当前是奇数则存入奇数位,偶数则存入偶数位,一种是另开一个数组,一种是在原有的数组改,当遇到不匹配的时候,查找到另一个不匹配的进行交换。

function sortArrayByParityII(A: number[]): number[] {
   let i = 0;
   let j = 1;
   let result = Array.of(A.length)
   for(let index =0; index< A.length; index++) {
     if(A[index]%2===0){
       result[i]=A[index]
       i+=2
     } else {
       result[j]=A[index]
       j+=2
     }
   }
   return result
};

function sortArrayByParityII2(A: number[]): number[] {
  let j = 1;
  for(let i =0; i< A.length; i+=2) {
    if(A[i]%2===1){
      while(A[j]%2===1) {
        j+=2
      }
      let temp = A[j]
      A[j] = A[i]
      A[i] = temp
  }
  return A
};

你可能感兴趣的:(leetcode_922 按奇偶排序数组)