leetcode 905:按奇偶排序数组

本文介绍了一种有效的算法,用于将数组中的元素按奇偶性排序。通过分别收集偶数和奇数元素,然后将它们连接起来,实现了一个简单且直观的解决方案。文章还解释了Python列表方法append和extend之间的关键区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述:给定一个非负整数数组 A,返回一个由 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

思路:前半边是偶数,后半边是奇数,那就偶数放一个list,奇数放一个list拼一下就好了。
代码:

class Solution:
    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)
        even.extend(odd)
        return even

好了下面放干货:
append和extend的区别
例如:A=[1,2,3,4],B=[2,3]
A.append(B)—>[1,2,3,4,[2,3]]
A.extend(B)—>[1,2,3,4,2,3]
append()中插入的list以整体形式插入,而extend()中每个元素单独作为元素插入。
顺带说一下A.insert(i,B),在A列表的第i个索引的位置插入B,此时B也是以整体形式插入的,如A.insert(2,B)—>[1,2,[2,3],3,4]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值