我的js算法爬坑之旅-按奇偶排序数组 II

135 阅读1分钟

第三十六天:力扣第922题,按奇偶排序数组 II

地址:leetcode-cn.com/problems/so…

思路:双指针,当有一个奇数位和偶数位位置都不对的时候,互换位置。

var sortArrayByParityII = function(A) {
  let flag = 0;
  let falg = 0;
  for(let left = 0,right = 1;left < A.length - 1&&right < A.length;)
  {
    A[left]%2 !== 0 ? flag = 1 : left += 2;
    A[right]%2 === 0 ? falg = 1 : right += 2;
    if(falg === 1&&flag === 1)
    {
      [A[left],A[right]] = [A[right],A[left]]
      flag = 0;
      falg = 0;
      left += 2;
      right += 2;
    }
  }
  return A;
};
执行用时:116 ms, 在所有 JavaScript 提交中击败了92.39%的用户
内存消耗:42.6 MB, 在所有 JavaScript 提交中击败了68.21%的用户