剑指offer第13题 牛客网在线编程链接 https://www.nowcoder.com/activity/oj
调整数组顺序使奇数位于偶数前面
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路
新建两个空白数组arr_odd和arr_even,分别用来保存原数组中的奇数和偶数。遍历原数组,如果遇到奇数则存入arr_odd,如果遇到偶数,则存入arr_even,最后将两个数组合并。
Python2.7编写
# -*- coding:utf-8 -*-
class Solution:
def reOrderArray(self, array):
# write code here
arr_odd = []
arr_even = []
for i in array:
if i % 2 == 0:
arr_even.append(i)
else:
arr_odd.append(i)
arr = arr_odd + arr_even
return arr