import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param mat int整型二维数组
* @param n int整型
* @return int整型二维数组
*/
public int[][] rotateMatrix (int[][] mat, int n) {
// write code here
int up = 0;
int down = n - 1;
reverseRow(mat, up, down); // 整体行反转
reverseDiagnoal(mat, n); // 沿对角线反转
return mat;
}
private void reverseDiagnoal(int[][] mat, int n) {
int i=0;
int j=0;
while (i < n) {
j=0;
while (i >= j) {
int temp = mat[i][j];
mat[i][j] = mat[j][i];
mat[j][i] = temp;
j++;
}
i++;
}
i=1;
while (i < n) {
j = n-1;
while (j > 0) {
int temp = mat[i][j];
mat[i][j] = mat[j][i];
mat[j][i] = temp;
j--;
}
i++;
}
}
private void reverseRow(int[][] mat, int i, int j) {
while (i < j) {
int[] row = mat[i];
mat[i] = mat[j];
mat[j] = row;
i++;
j--;
}
}
}