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上
                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;//上-->右
            }
        
    }
}

你可能感兴趣的:(LeedCode 旋转图像)