832. 翻转图像

image.png

image.png
双指针做水平翻转操作
0 1替换采用异或运算
当双指针指针相等的时候只需要异或运算

  1. package main
  2. import "fmt"
  3. func flipAndInvertImage(A [][]int) [][]int {
  4. for i:=0;i<len(A);i++{
  5. l :=0
  6. r :=len(A[i])-1
  7. for l<=r{
  8. if l<r{
  9. A[i][l],A[i][r]= A[i][r],A[i][l]
  10. A[i][l]=A[i][l]^1
  11. A[i][r]=A[i][r]^1
  12. }else {
  13. A[i][l]=A[i][l]^1
  14. }
  15. l++
  16. r--
  17. }
  18. }
  19. return A
  20. }
  21. func main() {
  22. //
  23. fmt.Println(flipAndInvertImage([][]int{{1,1,0},{1,0,1},{0,0,0}}))
  24. }