#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param array int整型一维数组
# @return int整型一维数组
#
class Solution:
def reOrderArray(self , array: List[int]) -> List[int]:
"""
i : 列表正在判断是否需要移动的下标
even : 已经排了的偶数个数
count : 判断了多少次的计数器
lenarray : 传入的列表长度
"""
i, even, count, lenarray = 0, 0, 0,len(array)
# 只有在判断次数小于列表长度
# 或者列表下标小于奇数个数(否则会影响已经排好的数据)
# 才会进行循环
while count <= lenarray and i < lenarray - even:
if array[i] % 2 == 0:
# 若为偶数,将其移到尾部并弹出,even+1
array.append(array.pop(i))
even +=1
else:
# 不是偶数,判断下标+1
i += 1
count += 1 # 判断次数加一
return array