题目传送门
思路:
先按对角线交换。
后每一行以中间的点为对称轴交换。
class Solution
{
public:
void rotate(vector<vector<int>>& matrix)
{
int n=matrix.size();
for(int i=0;i<n;i++)
{
for(int j=0;j<i;j++)
{
int temp=matrix[i][j];
matrix[i][j]=matrix[j][i];
matrix[j][i]=temp;
}
}
for(int j=0;j<n/2;j++)
{
for(int i=0;i<n;i++)
{
int temp=matrix[i][j];
matrix[i][j]=matrix[i][n-1-j];
matrix[i][n-1-j]=temp;
}
}
}
};