题目
思路
两个操作:
①矩阵主对角线翻转
②矩阵垂直镜像翻转
顺时针90°:先①后②
逆时针90°:先②后①
这道题要求顺时针翻转90°,即将矩阵先沿对角线翻转再垂直镜像翻转。
代码
class Solution:
def rotate(self, matrix: List[List[int]]) -> None:
n = j =len(matrix) - 1
for i in range(n):
for k in range(n+1-j,n+1):
temp = matrix[i][k]
matrix[i][k] = matrix[k][i]
matrix[k][i] = temp
j -= 1
for i in range(n+1):
matrix[i] = matrix[i][::-1]
操作比较简单,但是复杂度不低,有待改进