LC 48旋转图像Rotate Image 中等
把 n×n 矩阵顺时针旋转 90 度,必须原地修改。
思路 先沿主对角线转置,再对每一行水平翻转,即得顺时针 90° 旋转。时间 O(n²)、空间 O(1)。
class Solution: def rotate(self, matrix: List[List[int]]) -> None: n = len(matrix) for i in range(n): # 先沿主对角线转置 for j in range(i): t = matrix[i][j] matrix[i][j] = matrix[j][i] matrix[j][i] = t for row in matrix: # 再逐行水平翻转 row.reverse()