题目大意:给一个矩阵,将其按顺时针旋转90°。
题目分析:通法是先将矩阵转置,然后再反转每一行,或者是先反转每一列,然后再将其转置。I just want to say"It's amazing!".(forgivig my poor English!)
代码如下(代码怎么写已经不重要了!):
class Solution { public: void rotate(vector<vector<int>>& matrix) { int r=matrix.size(); int c=matrix[0].size(); for(int i=0;i<r;++i){ for(int j=i+1;j<c;++j) swap(matrix[i][j],matrix[j][i]); for(int j=0,k=c-1;j<k;++j,--k) swap(matrix[i][j],matrix[i][k]); } } };