48. Rotar imagen
Dada una matriz 2D n × n que representa una imagen.
Gira la imagen 90 grados en el sentido de las agujas del reloj.
Explicación:
debe rotar la imagen en su lugar, lo que significa que debe modificar directamente la matriz 2D de entrada. Por favor, no utilice otra matriz para rotar la imagen.
class Solution {
public void rotate(int[][] matrix) {
//执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
//内存消耗:39.8 MB, 在所有 Java 提交中击败了66.08%的用户
int n = matrix.length;
//先沿对角线翻转
for(int i = 0;i < n; ++i){
for(int j = i + 1;j < n; ++j){
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
//再按照中竖线翻转
for(int i = 0;i < n; ++i){
for(int j = 0;j < n/2; ++j){
int temp = matrix[i][j];
matrix[i][j] = matrix[i][n - j - 1];
matrix[i][n - j - 1] = temp;
}
}
}
}