面试题21:调整数组顺序使奇数位于偶数前面

题目描述

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

知识点

数组


Qiang的思路

牛客网上的这道题和书上的不同,书上并没有要求保证奇数之间、偶数之间的相对顺序,所以没有采用书中的做法。

看到这个题最先想到的办法是建立两个数组,一个放奇数,一个放偶数,然后将两个数组拼起来,这样得到的结果自然满足了题目要求。

# -*- coding:utf-8 -*-
class Solution:
    def reOrderArray(self, array):
        # write code here
        odd=[]
        even=[]
        for i in array:
            if i%2==0:
                even.append(i)
            else:
                odd.append(i)
        array=odd
        array.extend(even)
        return array

作者原创,如需转载及其他问题请邮箱联系:[email protected]
个人网站:https://www.myqiang.top。

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