LeetCode #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