public class Solution {
public void rotate(int[][] matrix) {
// (i, j) -> ((i-n/2), (j-n/2)) -> ((j-n/2), (n/2-i)) -> (j, n-i)
// (n-j, i) -> (i, j)
int n=matrix[0].length-1;
for (int i=n; i>n/2; i--){
rotateLevel(matrix, i);
}
}
public void rotateLevel(int[][] matrix, int i){
int n=matrix[0].length-1;
for(int j=i; j>n-i; j--){
int temp = matrix[i][j];
matrix[i][j] = matrix[n-j][i];
matrix[n-j][i] = matrix[n-i][n-j];
matrix[n-i][n-j] = matrix[j][n-i];
matrix[j][n-i] = temp;
}
}
}
Rotate Image
最新推荐文章于 2019-02-27 16:00:44 发布