题目
给定 matrix =
[
[1,2,3],
[4,5,6],
[7,8,9]
],
原地旋转输入矩阵,使其变为:
[
[7,4,1],
[8,5,2],
[9,6,3]
]
题解
找下规律,第一行变成最后一列。
看下我们的循环[i,j],j在递增,行不变,列每次+1—>第一列转成第一行,第几行会变成第几列
代码
class Solution {
public void rotate(int[][] matrix) {
int n = matrix.length;
int[][] a = new int[n][n];
for(int i =0;i<n;i++){
for(int j =0;j<n;j++){
a[j][n-i-1] = matrix[i][j];
}
}
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
matrix[i][j] = a[i][j];
}
}
}
}