搞个矩阵,翻转一下就行。题目说不占额外内存,但是我这样做了,内存也是前100%.估计是JAVA启动的时候就加载了一些东西。
看题解也都是n^2复杂度,就这样了吧。
public static void rotate(int[][] matrix) {
int rows = matrix.length;
int cols = matrix[0].length;
int[][] oldM = new int[rows][cols];
for(int i=0;i<rows;i++){
for(int j=0;j<cols;j++){
oldM[i][j]=matrix[i][j];
}
}
for(int i=0;i<rows;i++){
for(int j=0;j<cols;j++){
matrix[j][cols-i-1]=oldM[i][j];
}
}
for(int i=0;i<rows;i++){
for(int j=0;j<cols;j++){
System.out.print(matrix[i][j]+" ");
}
System.out.println(" ");
}
}
来源:https://www.cnblogs.com/superxuezhazha/p/12655588.html