LC 速查

HOT 100索引 › B6 矩阵 Matrix

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()
← 上一题 螺旋矩阵搜索二维矩阵 II 下一题 →