解题思路
我以为我用了双指针,结果实际上还是遍历法
C++代码
class Solution {
public:
vector<int> sortArrayByParityII(vector<int>& A) {
int n = A.size();
vector<int> ans(n);
int p = 0, q = 1; //分别对应奇偶指针
for (int i = 0; i < n; i++) {
if (A[i] % 2 == 0) {
ans[p] = A[i];
p += 2;
}
else {
ans[q] = A[i];
q += 2;
}
}
return ans;
}
};

本文介绍了一种使用双指针技巧解决LeetCode题目922(按奇偶排序数组II)的方法。通过定义两个指针p和q分别指向偶数位和奇数位,遍历数组将偶数放入p位置,奇数放入q位置,最终实现数组的奇偶排序。
1192

被折叠的 条评论
为什么被折叠?



