本篇内容介绍了“JZ13怎么调整数组顺序使奇数位于偶数前面”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
JZ13 调整数组顺序使奇数位于偶数前面
题目
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路
需要使用稳定排序
# @param array int整型一维数组
# @return int整型一维数组
#
class Solution:
'''两次遍历
def reOrderArray(self , array):
newarray = []
for i in array:
if i%2!=0:
newarray.append(i)
for i in array:
if i%2==0:
newarray.append(i)
return newarray
'''
'''一次遍历
def reOrderArray(self, array):
i, j = 0, 0
while 1:
if i>=len(array):
break
if array[i]%2!=0:
array.insert(j, array.pop(i))
j += 1
i += 1
return array
'''
if __name__ == '__main__':
sl = Solution()
print(sl.reOrderArray([1,2,3,4,5,6,7]))
print(sl.reOrderArray([2,4,6,1,3,5,7]))
print(sl.reOrderArray([]))
“JZ13怎么调整数组顺序使奇数位于偶数前面”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注天达云网站,小编将为大家输出更多高质量的实用文章!