描述
给定一个 n × n
的二维矩阵 matrix
表示一个图像。请你将图像顺时针旋转 90 度。
你必须在 原地
旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。
思路
对角替换后按行reverse
CODE
class Solution:
def rotate(self, matrix):
"""
Do not return anything, modify matrix in-place instead.
"""
l = matrix.__len__()
print(l)
for m in range(l):
for n in range(m + 1, l):
print(str(m) + "\t" + str(n))
tmp = matrix[m][n]
matrix[m][n] = matrix[n][m]
matrix[n][m] = tmp
for i in range(l):
matrix[i].reverse()
print(matrix)
S = Solution()
matrix = [[5, 1, 9, 11],
[2, 4, 8, 10],
[13, 3, 6, 7],
[15, 14, 12, 16]]
S.rotate(matrix)
print('############################')
matrix1 = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
S.rotate(matrix1)