官方题解, 真的是没这个思路, 被自己局限在只能使用一个变量中, 理解题目不够透彻
class Solution {
// 这个做法其实不难, 就是没有这个思路
// 思路就是创建一个一样大小的二阶数组, 然后按照规律放值进去
// 最后在一个一个放回到原数组
public void rotate(int[][] matrix) {
int n = matrix.length;
int[][] matrix_new = new int[n][n];
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
matrix_new[j][n - i - 1] = matrix[i][j];
}
}
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
matrix[i][j] = matrix_new[i][j];
}
}
}
}