LeetCode:905.按奇偶排列数组

值得注意的是while循环中的第一个if语句绝不可以拿到下面去,否则就会导致多判断一次而出现错误。

class Solution:
    def sortArrayByParity(self, A: List[int]) -> List[int]:
        i = 0
        j = len(A) - 1
        while (i < j):
            if A[i] % 2 == 1 and (A[j] % 2 == 0 or A[j]==0):
                temp = A[i]
                A[i] = A[j]
                A[j] = temp
                i += 1
                j -= 1
            if (A[i] % 2 == 0):
                i += 1
            if (A[j] % 2 != 0):
                j -= 1

        return A
发布了69 篇原创文章 · 获赞 33 · 访问量 1169

猜你喜欢

转载自blog.csdn.net/dosdiosas_/article/details/105728235