题解 | #调整数组顺序使奇数位于偶数前面(一)#
调整数组顺序使奇数位于偶数前面(一)
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