# 832. Flipping an Image

Given a binary matrix `A`, we want to flip the image horizontally, then invert it, and return the resulting image.

To flip an image horizontally means that each row of the image is reversed.  For example, flipping `[1, 1, 0]` horizontally results in `[0, 1, 1]`.

To invert an image means that each `0` is replaced by `1`, and each `1` is replaced by `0`. For example, inverting `[0, 1, 1]` results in `[1, 0, 0]`.

Example 1:

```Input: [[1,1,0],[1,0,1],[0,0,0]]
Output: [[1,0,0],[0,1,0],[1,1,1]]
Explanation: First reverse each row: [[0,1,1],[1,0,1],[0,0,0]].
Then, invert the image: [[1,0,0],[0,1,0],[1,1,1]]```

Example 2:

```Input: [[1,1,0,0],[1,0,0,1],[0,1,1,1],[1,0,1,0]]
Output: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]
Explanation: First reverse each row: [[0,0,1,1],[1,0,0,1],[1,1,1,0],[0,1,0,1]].
Then invert the image: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]```

Notes:

• `1 <= A.length = A[0].length <= 20`
• `0 <= A[i][j] <= 1`

# 解法：

```//832. Flipping an Image
public int[][] flipAndInvertImage(int[][] A) {
if (A==null||A.length== 0||A[0].length == 0) return A;
for (int j = 0;j<A.length;j++){
for (int i = 0;i<A[0].length/2;i++){
int temp = A[j][i];
A[j][i] = A[j][A[0].length-1-i];
A[j][A[0].length-1-i] = temp;
}
}
for (int i = 0;i<A.length;i++){
for (int j = 0;j<A[0].length;j++){
if (A[i][j] ==1) A[i][j] =0;
else if (A[i][j] ==0) A[i][j] =1;
}
}
return A;
}```

0 条评论

## 相关文章

11020

### 04-老马jQuery教程-DOM节点操作及位置和大小

1. jQuery创建DOM标签 1.1 DOM动态创建标签的方法 DOM时代我们通过document的createElement方法动态创建标签。创建标签后，...

24190

24700

52640

10630

### Go语言编程中字符串切割方法小结

1.func Fields(s string) []string，这个函数的作用是按照1：n个空格来分割字符串最后返回的是 []string的切片 import...

45690

8930

26620

977160

11740