思路:先将矩阵每一行进行逆置,然后再按照斜对角线对称交换
代码:
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
//先对每一行逆置;
for (auto& mat : matrix) {
reverse(mat.begin(), mat.end());
}
int n = matrix.size();
//这里用作副对角线对称交换元素
for (int i = 0; i < n; i++) {
for (int j = 0; j < n - 1 - i; j++) {
swap(matrix[i][j], matrix[n - 1 - j][n - 1 - i]);
}
}
}
};