題目鏈接
旋轉矩陣
題目描述
注意點
- 將圖像旋轉 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度的規律