LeedCode 旋转图像

LeetCode 旋转图像

给定一个 *n *× n 的二维矩阵表示一个图像。
将图像顺时针旋转 90 度。

思路:用改变下标的方式进行旋转,但是要注意下标的计算。用循环的方法从外层一个个数倒序旋转,因为角落的同一个数涉及了不同的行列,假设每层有j个数则需要j-1次交换,-1是指减去角落数的重复交换。假设有一个n*n的二维数组,所以数组一共有n/2层,所以就要用两个嵌套循环,将每一层的数字交换后,进行再里面一层的数据交换。

class Solution {
    public void rotate(int[][] matrix) {
        int c = matrix.length;
        System.out.print(c);
        int i,j;
        int temp = 0;
        for(i=0;i<c/2;i++)
            for(j=i;j<c-i-1;j++)
            {
                temp = matrix[i][j];
                matrix[i][j] = matrix[c-1-j][i];//左-->上
                matrix[c-j-1][i] = matrix[c-i-1][c-1-j];//下-->左
                matrix[c-i-1][c-1-j] = matrix[j][c-i-1];//右-->下
                matrix[j][c-i-1] = temp;//上-->右
            }
        
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容