class Solution {
public:
void rotate(vector<vector<int> > &matrix) {
int n = matrix.size();
if (n <= 1) return;
for (int i = 0; i < n / 2; ++i) {
int st = i, ed = n - i - 1;
for (int j = i; j < ed; ++j) {
int v = matrix[st][j];
matrix[st][j] = matrix[ed - j + i][st];
matrix[ed - j + i][st] = matrix[ed][ed - j + i];
matrix[ed][ed - j + i] = matrix[j][ed];
matrix[j][ed] = v;
}
}
}
};