顺时针旋转矩阵

2022-05-12  本文已影响0人  赵老拖
image.png

解题思路
1)、先按照对角线进行选择
1,2,3
4,5,6
7,8,9
旋转后
1,4,7
2,5,8
3,6,9
2)、本行内部反转
7,4,1
8,5,2
9,6,3

 public int[][] rotateMatrix(int[][] mat, int n) {
        // write code here
        //先按照对角线选择
        for(int i = 0;i<n;i++){
            for(int j = i ;j<n;j++){
                int temp = mat[i][j];
                mat[i][j] = mat[j][i];
                mat[j][i] = temp;
            }
        }
        //每行进行反转
        for(int i = 0;i<n;i++){
            for(int j = 0 ;j<n/2;j++){
                int temp = mat[i][j];
                mat[i][j] = mat[i][n-j-1];
                mat[i][n-j-1] = temp;
            }
        }
        return mat;
    }
上一篇 下一篇

猜你喜欢

热点阅读