给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
cpp
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 tmp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = tmp;
}
}
// 逆序
for(vector<int>&row:matrix){
reverse(row.begin(), row.end());
}
}
};