力扣-48.旋转图像
题目链接
48.旋转图像
class Solution {public void rotate(int[][] matrix) {int n = matrix.length;for (int i = 0; i < n / 2; i++) {for (int j = 0; j < (n + 1) / 2; j++) {int temp = matrix[i][j];matrix[i][j] = matrix[n - j - 1][i];matrix[n - j - 1][i] = matrix[n - i - 1][n - j - 1];matrix[n - i - 1][n - j - 1] = matrix[j][n - i - 1];matrix[j][n - i - 1] = temp;}}}
}
小结:这道题需要考虑两个问题:1.交换哪些位置才能不重复、不遗漏?2.交换前后的坐标对应关系。第一个问题如图下图,第二个问题可以通过观察某一行得出(i,j)->(j,n-i-1)
,且(n-j-1,i)->(i,j)
。