调整数组顺序使奇数位于偶数前面(一)
问题简述
输入一个长度为 n 整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
要求:空间复杂度 O(1)
思路
定义
i
表示下一个奇数插入的位置,初始化i=0
;从左往右遍历,假设在
j
位置找到一个奇数,保存至tmp
,则将arr[i:j)
之间的数后移一位;然后置
arr[i] = tmp, i += 1
Last updated