leetcode--905--按奇偶排序数组

2020-08-20  本文已影响0人  minningl

题目:
给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。

你可以返回满足此条件的任何数组作为答案。

示例:

输入:[3,1,2,4]
输出:[2,4,3,1]
输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。

提示:

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

链接:https://leetcode-cn.com/problems/sort-array-by-parity

思路:
1、定义两个列表分别存放偶数和奇数,遍历数组,将偶数存放到偶数列表中,将奇数存放到奇数列表中。最后将偶数列表和奇数列表拼接即为所求

Python代码:

class Solution(object):
    def sortArrayByParity(self, A):
        """
        :type A: List[int]
        :rtype: List[int]
        """
        even = []
        odd = []

        for item in A:
            if item%2==0:
                even.append(item)
            else:
                odd.append(item)
        return even+odd

C++代码:

class Solution {
public:
    vector<int> sortArrayByParity(vector<int>& A) {
        vector<int> even;
        vector<int> odd;

        for(int item:A){
            if(item%2==0){
                even.push_back(item);
            }else{
                odd.push_back(item);
            }
        }
        even.insert(even.end(), odd.begin(), odd.end());
        return even;
    }
};
上一篇下一篇

猜你喜欢

热点阅读