905.按奇偶排序数组
链接:905.按奇偶排序数组
难度:Easy
标签:数组、双指针、排序
简介:给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。
题解 1 - go
- 编辑时间:2022-04-28
- 执行用时:4ms
- 内存消耗:4.6MB
- 编程语言:go
- 解法介绍:双指针。
func sortArrayByParity(nums []int) []int {
    var i1, i2 = 0, len(nums) - 1
    for i1 < i2 {
        for i1 < i2 && nums[i1]&1 == 0 {
            i1 += 1
        }
        for i1 < i2 && nums[i2]&1 == 1 {
            i2 -= 1
        }
        nums[i1], nums[i2] = nums[i2], nums[i1]
    }
    return nums
}
题解 2 - cpp
- 编辑时间:2022-03-23
- 执行用时:56ms
- 内存消耗:15.8MB
- 编程语言:cpp
- 解法介绍:遍历。
class Solution {
   public:
    vector<int> sortArrayByParity(vector<int>& nums) {
        vector<int> ans;
        ans.reserve(nums.size());
        for (auto& num : nums) {
            if (num & 1)
                ans.push_back(num);
            else
                ans.insert(ans.begin(), num);
        }
        return ans;
    }
};