先转置,再翻转每一行
123 147 741
456 -> 258-> 852
789 369 963
void rotate(vector<vector<int>>& matrix) {
if(matrix.empty() || matrix[0].empty()) return;
int row = matrix.size();
//转置
for(int i=0;i<row;++i)
for(int j=i+1;j<row;++j){
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
//翻转每一行
for(int i=0;i<row;++i)
for(int j=0;j<row/2;++j){
int temp = matrix[i][j];
matrix[i][j] = matrix[i][row-j-1];
matrix[i][row-j-1] = temp;
}
return;
}