class Solution {
// 来自评论区降维打击的思路:先转置,再每行reverse
public void rotate(int[][] matrix) {
// trans
for(int i=0;i<matrix.length;i++){
for(int j=i;j<matrix[0].length;j++){
int t=matrix[i][j];
matrix[i][j]=matrix[j][i];
matrix[j][i]=t;
}
}
// 每行reverse
for(int i=0;i<matrix.length;i++){
int lo=0,hi=matrix[0].length-1;
while(lo<hi){
int t=matrix[i][lo];
matrix[i][lo]=matrix[i][hi];
matrix[i][hi]=t;
lo++;
hi--;
}
}
}
}
这个思路实现非常简单,但是我不一定能想到
只能说这种题尽量先和转置这种基本操作,并且好实现的操作上靠