Menu
CoddyTech

Rotate Image

给你一个 n × n 的整数网格,每一行是一个列表。将它顺时针旋转四分之一圈并返回。顶行会变成最右侧的一列,第二行会变成它左边的一列,以此类推:位于 (i, j) 的值会移动到 (j, n-1-i)。你可以直接修改网格;返回它。

函数

rotateImage(matrix: integer-2d-array) → integer-2d-array
matrixinteger-2d-array
正方形网格,每行对应一个内层列表
返回值integer-2d-array
矩阵顺时针旋转了 90 度

约束条件

  • n == matrix.length == matrix[i].length
  • 1 ≤ n ≤ 70
  • -1000 ≤ matrix[i][j] ≤ 1000

示例

输入
matrix = [[3, 7, 1], [9, 5, 2], [4, 8, 6]]
输出
[[4, 9, 3], [8, 5, 7], [6, 2, 1]]
解释
第一行 3 7 1 变成最后一列,从上到下读取。第一列 3 9 4 从下到上读取后,变成第一行 [4, 9, 3]。中心值 5 保持不变。
challenge icon

进阶

哪两个原地操作可以将矩阵旋转 180 度?你能否通过一轮交换完成?

重置代码
def rotateImage(matrix):
    # 在这里编写代码

测试 #1

测试 #2

参数

matrix = [[3, 7, 1], [9, 5, 2], [4, 8, 6]]

预期输出

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