思路:
//旋转
void rotate(vector<vector<int>> &matrix)
{
int len = matrix.size();
for (int start = 0, end = len - 1; start < end; start++, end--)
{
for (int s = start, e = end; s < end; s++, e--)
{
int temp = matrix[start][s];
matrix[start][s] = matrix[e][start];
matrix[e][start] = matrix[end][e];
matrix[end][e] = matrix[s][end];
matrix[s][end] = temp;
}
}
}
void rotate(vector<vector<int>> &matrix)
{
int len = matrix.size();
//上下翻转
for (int i = 0; i < len / 2; i++)
{
for (int j = 0; j < len; j++)
{
int temp = matrix[i][j];
matrix[i][j] = matrix[len - 1 - i][j];
matrix[len - 1 - i][j] = temp;
}
}
//转置
for (int x = 0; x < len; x++)
{
for (int y = x; y < len; y++)
{
int temp = matrix[y][x];
matrix[y][x] = matrix[x][y];
matrix[x][y] = temp;
}
}
}