# 解法非常容易说一下这里遇到的问题# 在第一个for循环中想直接改变值来避免第二次循环, 结果未奏效classSolution:defflipAndInvertImage(self, A):ifnot A:return A
for i in A:
start, end =0,len(A[0])-1while start <= end:
i[start], i[end]= i[end], i[start]
start, end = start +1, end -1for index, val inenumerate(A):for i, value inenumerate(val):
A[index][i]=0if A[index][i]else1return A
# python for循环通过迭代器实现,迭代器具有只读属性(循环过程对迭代器加锁)# 可通过下标访问或者enumerate遍历实现此处通过下标进行解决classSolution:defflipAndInvertImage(self, A):ifnot A:return A
len_A =len(A)for i inrange(len_A):
start, end =0, len_A -1while start < end:
A[i][start]=0if A[i][start]else1
A[i][end]=0if A[i][end]else1
A[i][start], A[i][end]= A[i][end], A[i][start]
start, end = start +1, end -1if start == end:
A[i][start]=0if A[i][start]else1return A
# 通过异或运算优化if条件判断classSolution:defflipAndInvertImage(self, A):ifnot A:return A
len_A =len(A)for i inrange(len_A):
start, end =0, len_A -1while start < end:
A[i][start]^=1
A[i][end]^=1
A[i][start], A[i][end]= A[i][end], A[i][start]
start, end = start +1, end -1if start == end:
A[i][start]^=1return A
# 此题目也可以通过reverse函数或者切片操作来进行处理, 做法更加pythonicclassSolution:defflipAndInvertImage(self, A):return[[j ^1for j in i[::-1]]for i in A]
leetcode 832 翻转图像# 解法非常容易说一下这里遇到的问题# 在第一个for循环中想直接改变值来避免第二次循环, 结果未奏效class Solution: def flipAndInvertImage(self, A): if not A: return A for i in A: star...