48. 旋转图像 | 对角替换后按行reverse

描述

给定一个 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)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *