题目链接
旋转矩阵
题目描述
注意点
- 将图像旋转 90 度
- 不占用额外内存空间
解答思路
- 需要找到将图像旋转90度的规律,为了不占用额外内存空间,可以先将图像上下翻转,然后再将图像沿着主对角线进行翻转,得到的就是旋转90度之后的图像
代码
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; j++) {int tmp = matrix[i][j];matrix[i][j] = matrix[n - i - 1][j];matrix[n - i - 1][j] = tmp;}}// 再沿主对角线旋转for (int i = 0; i < n; i++) {for (int j = i + 1; j < n; j++) {int tmp = matrix[i][j];matrix[i][j] = matrix[j][i];matrix[j][i] = tmp;}}}
}
关键点
- 将矩阵旋转90度的规律