c_jz_调整数组顺序使奇数位于偶数前面∈(有/无相对顺序要求)(双指针)
没有相对顺序要求
使数组所有奇数位于数组的前半部分,所有偶数位于数组的后半部分(没有相对顺序要求)
1,2,3,4
j
i
思路:j记录偶数的位置,只要j的当前位置是偶数,且i位置是奇数,则交换
class Solution:
def exchange(self, A: List[int]) -> List[int]:
i,j,n=0,0,len(A)
while i<n:
if A[i]&1:
if i!=j and A[i]&1: A[i],A[j]=A[j],A[i]
j+=1
i+=1
return A
有相对顺序要求
又是一道不同的,且难度上升的题