832. Flipping an Image
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]]
这个题目比较简单,先遍历倒序,然后每一项取反。
需要注意的是,在取反的时候用Number()将boolean类型转换为number类型。一开始我用的是parseInt(),会得到NaN。因为parseInt()只能用于字符串转化为数值,而Number()可以用于各种数据类型。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15/**
* @param {number[][]} A
* @return {number[][]}
*/
var flipAndInvertImage = function(A) {
var reverse = [];
for(let i=0;i<A.length;i++){ var temp = []; for(let j=A.length-1;j>=0;j--){
var fill = Number(!(A[i][j])); //这里用parseInt()的话得到的是NaN
temp.push(fill);
}
reverse.push(temp);
}
return reverse
};