美文网首页技术干货
《剑指offer》之Python调整数组顺序使奇数位于偶数前面

《剑指offer》之Python调整数组顺序使奇数位于偶数前面

作者: a295ff153449 | 来源:发表于2020-01-17 16:14 被阅读0次

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

解题思路:
1、先进行数组判空处理
2、分别新增变量newArray1(来存储奇数数组)、newArray2(来存储偶数数组)
3、遍历array数组通过数组元素对2进行求余结果是否为0来分别存储到奇数和偶数数组中
4、得到奇数和偶数数组后,对偶数数组进行遍历,然后添加到奇数数组中即可。

参考代码实现:

class Solution:
    def reOrderArray(self,array):
        if len(array) == 0:
            return []
        newArray1 = [] #奇数
        newArray2 = [] #偶数
        for i in range(len(array)):
            if array[i] % 2 == 0:
                newArray2.append(array[i])
            else:
                newArray1.append(array[i])
        print('初始奇数数组newArray1 == ',newArray1)
        print('偶数数组newArray2 == ', newArray2)
        for i in range(len(newArray2)):
            newArray1.append(newArray2[i])
        print('最终调整后的数组newArray == ',newArray1)
        return newArray1

solu = Solution()
solu.reOrderArray([1,2,3,4,5,6])

打印结果参考:

初始奇数数组newArray1 ==  [1, 3, 5]
偶数数组newArray2 ==  [2, 4, 6]
最终调整后的数组newArray ==  [1, 3, 5, 2, 4, 6]

相关文章

网友评论

    本文标题:《剑指offer》之Python调整数组顺序使奇数位于偶数前面

    本文链接:https://www.haomeiwen.com/subject/jpaczctx.html