【Leetcode】 905. 按奇偶排序数组

Given an integer array nums, move all the even integers at the beginning of the array followed by all the odd integers.

Return any array that satisfies this condition.

Example 1:

Input: nums = [3,1,2,4]
Output: [2,4,3,1]
Explanation: 
The outputs [4,2,3,1], [2,4,1,3], and [4,2,1,3] would also be accepted.

Example 2:

Input: nums = [0]
Output: [0]

Constraints:

1 <= nums.length <= 5000
0 <= nums[i] <= 5000

Thought

  • 简单题简单做!
  • 先遍历一次,找到偶数项输出
  • 在遍历一次,找到计数项输出

AC

/*
 * @lc app=leetcode.cn id=905 lang=cpp
 *
 * [905] 按奇偶排序数组
 */

// @lc code=start
class Solution {
    
    
public:
    vector<int> sortArrayByParity(vector<int>& nums) {
    
    
        vector<int> res;
        for(auto num : nums)
        {
    
    
            if(num % 2 == 0)
            {
    
    
                res.push_back(num);
            }
        }
        for(auto num : nums)
        {
    
    
            if(num % 2 == 1)
            {
    
    
                res.push_back(num);
            }
        }
        return res;
    }
};
// @lc code=end

AC
看了下官方题解,与思路1一致
遂看了其他两种解法:
traversal
tranform

猜你喜欢

转载自blog.csdn.net/qq_54053990/article/details/131056612