旋转图像---简单
Posted manch1n
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了旋转图像---简单相关的知识,希望对你有一定的参考价值。
题目:
给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。
示例:
给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其变为: [ [7,4,1], [8,5,2], [9,6,3] ]
思路:
这道题我实在是想不出来,查了一下数学原理:上下翻转,沿对称轴变换即可,如下:
class Solution { public: void rotate(vector<vector<int>>& matrix) { int n=matrix[0].size(); for(int i=0;i<n/2;i++) for(int j=0;j<n;j++) { std::swap(matrix[i][j],matrix[n-1-i][j]); } for(int i=0;i<n;i++) for(int j=i;j>=0;j--) { std::swap(matrix[i][j],matrix[j][i]); } } };
以上是关于旋转图像---简单的主要内容,如果未能解决你的问题,请参考以下文章
Butterknife 片段旋转给出 NullPointer