Leetcode 832. 翻轉影象(可以,一次過)
阿新 • • 發佈:2022-05-24
給定一個 n x n 的二進位制矩陣 image ,先 水平 翻轉影象,然後 反轉 影象並返回 結果 。
水平翻轉圖片就是將圖片的每一行都進行翻轉,即逆序。
- 例如,水平翻轉 [1,1,0] 的結果是 [0,1,1]。
反轉圖片的意思是圖片中的 0 全部被 1 替換, 1 全部被 0 替換。
- 例如,反轉 [0,1,1] 的結果是 [1,0,0]。
示例 1:
輸入:image = [[1,1,0],[1,0,1],[0,0,0]] 輸出:[[1,0,0],[0,1,0],[1,1,1]] 解釋:首先翻轉每一行: [[0,1,1],[1,0,1],[0,0,0]]; 然後反轉圖片: [[1,0,0],[0,1,0],[1,1,1]]
示例 2:
輸入:image = [[1,1,0,0],[1,0,0,1],[0,1,1,1],[1,0,1,0]]
輸出:[[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]
解釋:首先翻轉每一行: [[0,0,1,1],[1,0,0,1],[1,1,1,0],[0,1,0,1]];
然後反轉圖片: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]
提示:
- n == image.length
- n == image[i].length
- 1 <= n <= 20
- images[i][j] == 0 或 1.
Code:
class Solution { public: vector<vector<int>> flipAndInvertImage(vector<vector<int>>& image) { for(int i=0;i<image.size();i++) { reverse(image[i].begin(),image[i].end()); for(int j=0;j<image[i].size();j++) { if(image[i][j]==0) { image[i][j]=1; } else image[i][j]=0; } } return image; } };