方法一:转置+翻转
class Solution:
def rotate(self, matrix: List[List[int]]) -> None:
"""
Do not return anything, modify matrix in-place instead.
"""
n = len(matrix[0])
for i in range(n):
for j in range(i, n):
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
for i in range(n):
matrix[i].reverse()
方法二:旋转四个矩形
class Solution:
def rotate(self, matrix: List[List[int]]) -> None:
"""
Do not return anything, modify matrix in-place instead.
"""
n = len(matrix[0])
for i in range(n//2+n%2):
for j in range(n//2):
tmp = [0] * 4
row, col = i, j
for k in range (4):
tmp[k] = matrix[row][col]
row, col = col, n-1-row
for k in range (4):
matrix[row][col] = tmp[(k-1)%4]
row, col = col, n-1-row