classSolution{public:voidrotate(vector<vector<int>>& matrix){int n = matrix.size();
vector<vector<int>>matrix_new(n,vector<int>(n,0));// 矩阵中第 i 行的第 j 个元素,在旋转后,它出现在倒数第 i 列的第 j 个位置。// 矩阵中的元素 matrix[row][col],在旋转后,它的新位置为 matrixnew[col][n−row−1]for(int i =0; i < n; i++){for(int j =0; j < n; j++){
matrix_new[j][n-i-1]= matrix[i][j];}}
matrix = matrix_new;}};
classSolution{public:voidrotate(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]);}}}};