方法:倒置矩阵

通过以下三个图发现,顺时针旋转90度的矩阵按行翻转后和原矩阵是转置关系即关于主对角线对称,所以为了得到旋转90度后的结果,可以先将原矩阵做对角线对称,再做行对称即可。

import java.util.*;
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param mat int整型二维数组 
     * @param n int整型 
     * @return int整型二维数组
     */
    public int[][] rotateMatrix (int[][] mat, int n) {
        int length = mat.length;
        //按对角线翻转
        for(int i=0;i<length;++i){
            for(int j=0;j<i;++j){
                int temp = mat[i][j];
                mat[i][j] = mat[j][i];
                mat[j][i] = temp;
            }
        }
        //各行翻转
        for(int i=0;i<length;i++){
            for(int j=0;j<length/2;j++){
                int temp = mat[i][j];
                mat[i][j] = mat[i][length-j-1];
                mat[i][length-j-1] = temp;
            }
        }
        return mat;
    }
}