思路
不能使用辅助数组,所以关键在于弄清楚旋转后坐标的变化规律。当矩阵的大小n为偶数时,以n/2行和n/2列的元素为起点,当矩阵的大小n为奇数时,以n/2行和(n+1)/2列的元素为起点
解题过程
关键:旋转过程中互相交换的四个元素的坐标为:1.matrix[i][j] 2. matrix[n - 1 - j][i] 3.matrix[n - 1 - i][n - 1 - j] 4.matrix[j][n - 1 - i]
Code
class Solution {public void rotate(int[][] matrix) {int n=matrix.length;int row=n/2;int col=(n+1)/2;for(int i=0;i<row;i++){for(int j=0;j<col;j++){int t=matrix[i][j];matrix[i][j] = matrix[n - 1 - j][i];matrix[n - 1 - j][i] = matrix[n - 1 - i][n - 1 - j];matrix[n - 1 - i][n - 1 - j] = matrix[j][n - 1 - i];matrix[j][n - 1 - i] = t;}}}
}作者:菜卷
链接:https://leetcode.cn/problems/rotate-image/solutions/2900533/xuan-zhuan-tu-xiang-by-ashi-jian-chong-d-4nud/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。