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
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容