中级编程通关练习题 #9 – 旋转矩阵

给定一个 m x n 的矩阵(m > 3, n > 3),和一个旋转角度(90°,180°,270°),按照度数来逆时针旋转矩阵。譬如下图中的样例,给定的矩阵分别逆时针旋转90°、180°、270°后的结果:

Rotate Matrix

输入样例:

matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
angle = 90

输出样例:

[[4, 8, 12]
[3, 7, 11]
[2, 6, 10]
[1, 5, 9]]

算法思路:

  • 矩阵行列交换,在Python里面可以使用 zip(*matrix) 来实现。
  • 矩阵反转,可以使用列表切片的方法:matrix[::-1]