题目:
给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。
思路:
矩阵的转置,两次转动法(做题时状态不好,做了很长时间)
程序:
class Solution:
def rotate(self, matrix: List[List[int]]) -> None:
"""
Do not return anything, modify matrix in-place instead.
"""
row = len(matrix)
column = len(matrix[0])
if row <= 0 and column <= 0:
return matrix
for index1 in range(row):
for index2 in range(column - index1):
temp_data = matrix[index1][index2]
matrix[index1][index2] = matrix[row - index2 - 1][column - index1 - 1]
matrix[row - index2 - 1][column - index1 - 1]= temp_data
for index3 in range(row // 2):
for index4 in range(column):
temp_data1 = matrix[index3][index4]
matrix[index3][index4] = matrix[row - index3 - 1][index4]
matrix[row - index3 - 1][index4] = temp_data1