提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
题目
顺时针旋转矩阵90°
提示:以下是本篇文章正文内容,下面案例可供参考
问题
有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。
给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于300。
解法:
代码如下:
class Solution {
public:
vector<vector<int> > rotateMatrix(vector<vector<int> > mat, int n) {
int i,j,k = n-1, temp;
for(i = 0; i < n/2; i++) //上下镜像翻转
{
for(j = 0; j < n; j++)
{
temp = mat[i][j];
mat[i][j] = mat[k][j];
mat[k][j] = temp;
}
k--;
}
for(i = 0; i < n; i++) //对角线翻转,转置
for(j = i; j < n; j++)
{
temp = mat[i][j];
mat[i][j] = mat[j][i];
mat[j][i] = temp;
//swap(mat[i][j], mat[j][i]);
}
return mat;
}
};
```=