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

有相对顺序要求

又是一道不同的,且难度上升的题

posted @ 2020-12-04 10:35  童年の波鞋  阅读(79)  评论(0编辑  收藏  举报