preguntas de cepillado de leetcode (matriz bidimensional) imagen de 13 rotaciones

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;
            }
        }
    }
}

Supongo que te gusta

Origin blog.csdn.net/qq_38754625/article/details/108419779
Recomendado
Clasificación