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

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

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

from os import EX_NOUSER
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param array int整型一维数组 
# @return int整型一维数组
#
class Solution:
    def reOrderArray(self , array: List[int]) -> List[int]:
        # write code here
        # 方法一,时间复杂度n,空间复杂度n,遍历出两个数组,一个放奇数一个放偶数,最后一拼
        '''
        jires, oures = [],[]
        for item in array:
            if item % 2 != 0:
                jires.append(item)
            else:
                oures.append(item)
        return jires + oures
        '''
        # 方法二,插入排序法,找到奇数,把从第一个偶数开始到这个奇数为止的数向后移动,再把这个奇数放到第一个偶数的位置
        n = len(array)
        start = 0
        for i in range(n):
            if array[i] % 2 == 1:
                tmp = array[i]
                for j in range(i, start, -1):
                    array[j] = array[j-1]
                array[start] = tmp
                start += 1
        return array

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务