LeetCode #832. Flipping an Image

题目

832. Flipping an Image


解题方法

遍历每一行,在行内设置首位双指针i、j,当 i < j 时交换位置并异或1,当 i == j 时只把此位置异或1,遍历结束完成图片水平翻转。
时间复杂度:O(m*n)
空间复杂度:O(1)


代码

class Solution:
    def flipAndInvertImage(self, A: List[List[int]]) -> List[List[int]]:
        for m in range(len(A)):
            i, j = 0, len(A[m]) - 1
            while i < j:
                A[m][i], A[m][j] = A[m][j] ^ 1, A[m][i] ^ 1
                i, j = i + 1, j - 1
            else:
                if i == j: A[m][i] ^= 1
        return A
posted @ 2020-11-20 10:48  老鼠司令  阅读(64)  评论(0编辑  收藏  举报