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

  • 开辟新空间的解法
def reOrderArray(self, array):
        # write code here

        even = []
        odd = []
        for item in array:
            if item % 2 == 0:
                even.append(item)
            else:
                odd.append(item)
        return odd + even
  • 不开辟新空间的解法: 每次记录这次要插入的idx(初始为0),每次遇到一个奇数就pop出来,然后插入到idx的位置,idx+=1.
# -*- coding:utf-8 -*-
class Solution:
    def reOrderArray(self, array):
        # write code here
        idx = 0
        for i in range(len(array)):
            if array[i] % 2 == 1:
                array.insert(idx, array.pop(i))
                idx += 1
        return array

你可能感兴趣的:(调整数组顺序使奇数位于偶数前面)