文章目录
- 给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 https://leetcode-cn.com/problems/rotate-image
- 对角替换后按行reverse https://labuladong.gitee.io/algo/2/21/58/
- 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)
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。

对角替换后按行reverse
对角替换后按行reverse



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)
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)
