仔细分辨题目,是N*N的矩阵,也就是个正方形,顺时针转90度,其实就是从第一列开始,从下到上输出,直到最后一列从上到下输出结束。
- 新数组第一行第一个数是arr[0][0] = mat[n-1][0],第二个数是arr[0][1] = mat[n-1-1][0]...
- 新数组第二行第一个数是arr[1][0] = mat[n-1][1],第二个数是arr[1][1] = mat[n-1-1][1]...
- 所以循环是新数组从0行0列开始,老数组是从n-1行0列开始,新数组装数时是行固定,老数组是列固定
import java.util.*;
public class Solution {
public int[][] rotateMatrix(int[][] mat, int n) {
// write code here
int[][] arr = new int[n][n];
for(int i=n-1,m=0;i>=0;i--,m++){
for(int j=0,x=n-1;j<n;j++,x--){
arr[m][j]=mat[x][m];
}
}
return arr;
}
}