不好意思,我之前说的有点问题,正确的应该是这样:     // 顺时针旋转     void rotate(vector<vector<int>>& matrix) {         int n = matrix.size();         if (n < 2)return;         //1. 交换对角元素         for (int i = 0; i < n; ++i)         {             for (int j = 0; j < i; ++j)             {                    swap(matrix[i][j], matrix[j][i]);             }         }         //2. 每一行逆序         for (int i = 0;i < n;++i)         {             reverse(matrix[i].begin(), matrix[i].end());         }     }          //同理:若需要进行逆时针翻转,则先对每一行进行逆序,然后交换对角元素