解题思路
1)、先按照对角线进行选择
1,2,3
4,5,6
7,8,9
旋转后
1,4,7
2,5,8
3,6,9
2)、本行内部反转
7,4,1
8,5,2
9,6,3
public int[][] rotateMatrix(int[][] mat, int n) {
// write code here
//先按照对角线选择
for(int i = 0;i<n;i++){
for(int j = i ;j<n;j++){
int temp = mat[i][j];
mat[i][j] = mat[j][i];
mat[j][i] = temp;
}
}
//每行进行反转
for(int i = 0;i<n;i++){
for(int j = 0 ;j<n/2;j++){
int temp = mat[i][j];
mat[i][j] = mat[i][n-j-1];
mat[i][n-j-1] = temp;
}
}
return mat;
}
网友评论