输入 = [10, 9, 7, 18, 13, 19, 4, 20, 21, 14]
输出:10 9 18 7 20 19 4 13 14 21
def fixing(arr):
oddIdx = 1
evenIdx = 0
while True:
while evenIdx < len(arr) and arr[evenIdx] %2 ==0:
evenIdx +=2
while oddIdx < len(arr) and arr[oddIdx] % 2!=0:
oddIdx+=2
if evenIdx < len(arr) and oddIdx < len(arr):
arr[evenIdx], arr[oddIdx] = arr[oddIdx], arr[evenIdx]
else:
break
return arr
是因为我们没有忽略外循环吗?如果是,为什么,如果不是,为什么不呢?谢谢你!
潇湘沐
精慕HU
相关分类