有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵。
1.
class Rotate {
public:
vector<vector<int> > rotateMatrix(vector<vector<int> > mat, int n) {
vector<vector<int> > res(mat);
for(int i=0; i<n; i++){
int col = n - 1 - i;
for(int j=0; j<n; j++){
res[j][col] = mat[i][j];
}
}
return res;
}
};
2.
class Rotate {
public:
vector<vector<int> > rotateMatrix(vector<vector<int> > mat, int n) {
vector<vector<int> > mat2;
vector<int> mat1;
if(n==1)
return mat;
for(int i=0;i<=n-1;i++)
{
mat1.clear();
for(int j=n-1;j>=0;j--)
{
mat1.push_back(mat[j][i]);
}
mat2.push_back(mat1);
}
return mat2;
}
};