題解 | #順時針旋轉(zhuǎn)矩陣#
順時針旋轉(zhuǎn)矩陣
http://www.fangfengwang8.cn/practice/2e95333fbdd4451395066957e24909cc
public class Solution {
//基本要求:增加空間復(fù)雜度
public int[][] rotateMatrix_base(int[][] mat, int n) {
int[][] rotate = new int[n][n];
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
rotate[j][n-1-i] = mat[i][j];
}
}
return rotate;
}
//進(jìn)階:直接在原矩陣上修改
public int[][] rotateMatrix(int[][] mat, int n) {
//對角翻轉(zhuǎn)
for(int i=0; i<n; i++){
for(int j=0; j<i; j++){
int tmp = mat[i][j];
mat[i][j] = mat[j][i];
mat[j][i] = tmp;
}
}
//左右翻轉(zhuǎn)
for(int i=0; i<n; i++){
for(int j=0; j<n/2; j++){
int tmp = mat[i][j];
mat[i][j] = mat[i][n-1-j];
mat[i][n-1-j] = tmp;
}
}
return mat;
}
}