题解 | #调整数组顺序使奇数位于偶数前面(一)#

调整数组顺序使奇数位于偶数前面(一)

http://www.nowcoder.com/practice/ef1f53ef31ca408cada5093c8780f44b

确定数组中奇数的数量mid,然后声明一个新的数组(因为这个数组是返回值,所有不算额外空间),将奇数依次存进新数组前面,偶数则是存进新数组的mid之后的位置中,时间复杂度为O(n)
class Solution:
    def reOrderArray(self , array: List[int]) -> List[int]:
        # write code here
        if array == []:
            return []

        mid = 0
        res = []
        for i in array:
            res.append(0)
            if i % 2 == 1:
                mid += 1 # 奇数数量
        oddid = 0
        for i in range(len(array)):
            number = array[i]
            if number % 2 == 1: # 奇数
                res[oddid] = number
                oddid += 1
            else:
                res[mid] = number
                mid += 1
        return res


全部评论

相关推荐

10-21 00:37
已编辑
门头沟学院 C++
小浪_Coding:你问别人,本来就是有求于人,别人肯定没有义务免费回答你丫, 有点流量每天私信可能都十几,几十条的,大家都有工作和自己的事情, 付费也是正常的, 就像你请别人搭把手, 总得给人家买瓶水喝吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务