《C语言入门100例》(第34例) 矩阵旋转

1.48. 旋转图像

/*
1.给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
2.你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像*/
class Solution {
    
    //时间复杂度:O(n^2)
    public void rotate(int[][] matrix) {
    
    
        int n = matrix.length;
        int[][] matrixArr = new int [n][n];
        for(int i = 0; i < n; i++){
    
    
            for(int j = 0; j < n; j++){
    
    
                matrixArr[j][n- i -1 ] = matrix[i][j];
            }
        }
        for(int i = 0; i < n; i++){
    
    
            for(int j = 0; j < n; j++){
    
    
                matrix[i][j] = matrixArr[i][j];
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_52230126/article/details/121754126