假设我们有一个正方形矩阵,我们必须将其逆时针旋转90度。
1 | 4 | 7 |
2 | 5 | 8 |
3 | 6 | 9 |
那么输出将是
7 | 8 | 9 |
4 | 5 | 6 |
1个 | 2 | 3 |
为了解决这个问题,我们将遵循以下步骤-
如果矩阵为空,则
返回一个空白列表
n:=矩阵的行数
对于矩阵中的每一行,执行
反转行
对于范围在0到n-1之间的i
交换矩阵[i,j]和矩阵[j,i]
对于范围0到i-1的j,执行
返回矩阵
让我们看下面的实现以更好地理解-
class Solution: def solve(self, matrix): if not matrix or not matrix[0]: return [] n = len(matrix) for row in matrix: row.reverse() for i in range(n): for j in range(i): matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j] return matrix ob = Solution() matrix = [ [1, 4, 7], [2, 5, 8], [3, 6, 9] ] print(ob.solve(matrix))
[ [1, 4, 7], [2, 5, 8], [3, 6, 9] ]
输出结果
[ [7, 8, 9], [4, 5, 6], [1, 2, 3]]