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--;
}
}
}
}
这个思路实现非常简单,但是我不一定能想到
只能说这种题尽量先和转置这种基本操作,并且好实现的操作上靠
本文介绍了一种高效的矩阵旋转方法,通过先进行矩阵转置再对每一行进行反转来实现。这种方法简单且易于理解,适合用于面试准备和技术交流。
595

被折叠的 条评论
为什么被折叠?



