💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
Given an array`A` of non-negative integers, half of the integers in A are odd, and half of the integers are even. Sort the array so that whenever`A[i]`is odd,`i`is odd; and whenever`A[i]`is even,`i`is even. You may return any answer array that satisfies this condition. **Example 1:** ~~~ Input: [4,2,5,7] Output: [4,5,2,7] Explanation: [4,7,2,5], [2,5,4,7], [2,7,4,5] would also have been accepted. ~~~ **Note:** 1. `2 <= A.length <= 20000` 2. `A.length % 2 == 0` 3. `0 <= A[i] <= 1000` ``` /** * @param {number[]} A * @return {number[]} */ var sortArrayByParityII = function(arr) { arr.sort((a, b) => a - b) // 声明一个空数组用来存储奇偶排序后的数组 let r = [] // 记录奇数、偶数位下标 let odd = 1 let even = 0 // 对数组进行遍历 arr.forEach(item => { if (item % 2 === 1) { r[odd] = item odd += 2 } else { r[even] = item even += 2 } }) return r }; ```