方法:倒置矩阵
通过以下三个图发现,顺时针旋转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; } }