要将一个矩阵顺时针旋转90°,数学公式是newjn-i-1=oldij,要原地翻转的话,可以先水平翻转,即变成mn-i-1j,再主对角线翻转(即转置),变成mjn-i-1
class Solution {
public:
void rotate(vector<vector<int> > &matrix) {
int n = matrix.size();
for (int i = 0; i < n / 2; ++i)
for (int j = 0; j < n; ++j)
swap(matrix[i][j], matrix[n - i - 1][j]);
for (int i = 0; i < n; ++i)
for (int j = 0; j < i; ++j)
swap(matrix[i][j], matrix[j][i]);
}
};