922. 按奇偶排序数组 II URL
问题:
给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。
对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。
你可以返回任何满足上述条件的数组作为答案。
思路1:
- 遍历数组A, 如果为偶数,放到数组A1中; 否则,放到数组A2中
- 遍历数组A1和A2,先偶后奇,整合到一个数组Aa中
思路2:
- 遍历数组A, 如果index和A[index]同时为偶数/同时为奇数,不动;
否则进入到2 - 如果index为偶数,倒序遍历数组,碰到第一个偶数和index的数交换(也可以从index开始后的第一个偶数进行交换);如果为奇数,同上