顺时针旋转矩阵

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;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容