力扣刷题05 java 二维数组行数是matrix.length

旋转矩阵 https://leetcode-cn.com/problems/rotate-matrix-lcci/

给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?

这个题非常简单,没什么好说的。先对角线对称,在沿横轴对称。

代码

Java

class Solution {
    public void rotate(int[][] matrix) {
        int N = matrix.length;
        int tmp;
        for(int i=0;i<N;i++)
        {
            for(int j=0;j<N-1-i;j++)
            {
                //swap(matrix[i][j],matrix[N-1-j][N-1-i]);
                tmp = matrix[i][j];
                matrix[i][j] = matrix[N-1-j][N-1-i];
                matrix[N-1-j][N-1-i] = tmp;
            }
        }
        for(int i=0;i<N/2;i++)
        {
            for(int j=0;j<N;j++)
            {
                //swap(matrix[i][j],matrix[N-1-i][j]);
                tmp = matrix[i][j];
                matrix[i][j] = matrix[N-1-i][j];
                matrix[N-1-i][j] = tmp;
            }
        }   
    }
}
上一篇:LeetCode—189. 旋转数组(Rotate Array)——分析及代码(Java)


下一篇:Python之2维list转置、旋转及其简单应用