NOWCODER 剑指offer 调整数组顺序使奇数位于偶数前面

开辟新空间的尝试

运行时间:31ms

占用内存:5712k

# -*- coding:utf-8 -*-
class Solution:
    def reOrderArray(self, array):
        # write code here
        #找到前半部分第一个奇数以及后半部分第一个偶数调换位置,误区,奇偶不一定对半分
        #n = len(array)
        ji = []
        ou = []
        for i in array:
            if i%2!=0:
                ji.append(i)
            else:
                ou.append(i)
        return ji+ou

——————————————————————————————

range(4,0,-1),才是真的4,3,2,1的结果

运行时间:21ms

占用内存:5724k

# -*- coding:utf-8 -*-
class Solution:
    def reOrderArray(self, array):
        # write code here
        #相当于冒泡排序,从后往前,若前偶后奇则交换位置,保证第一位是奇数
        n = len(array)
        for i in range(n):
            for j in range(n-1,i,-1):
                if array[j]%2!=0 and array[j-1]%2==0:
                    temp = array[j]
                    array[j] = array[j-1]
                    array[j-1] = temp
        return array

 

你可能感兴趣的:(leetcode)