题目
https://leetcode-cn.com/problems/rotate-image/
分析
先转置矩阵。再交换列。
题目中的例子2旋转过程如下:
复杂度
时间复杂度:O(N^2).
空间复杂度:O(1) 由于旋转操作是 就地 完成的。
代码
class Solution {
public void rotate(int[][] matrix) {
int n=matrix.length;
for(int i=0;i<n;i++){
for(int j=i;j<n;j++){
int tmp=matrix[i][j];
matrix[i][j]=matrix[j][i];
matrix[j][i]=tmp;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n/2;j++){
int tmp=matrix[i][j];
matrix[i][j]=matrix[i][n-j-1];
matrix[i][n-j-1]=tmp;
}
}
}
}