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


京公网安备 11010502036488号