CodeACM
HOT 100 · 矩阵 · LC 48

旋转图像:ACM 模式刷题

按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。

题目描述

给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

输入格式

第一行输入整数 n。

接下来 n 行,每行输入 n 个整数。

输出格式

输出 n 行,每行 n 个整数,表示顺时针旋转 90 度后的矩阵。

数据范围

  • 1 ≤ n ≤ 20
  • −1000 ≤ matrix[i][j] ≤ 1000

公开样例

样例 1

输入

3
1 2 3
4 5 6
7 8 9

输出

7 4 1
8 5 2
9 6 3

矩阵顺时针旋转 90 度后,第一列变成第一行,第二列变成第二行,第三列变成第三行。

样例 2

输入

4
5 1 9 11
2 4 8 10
13 3 6 7
15 14 12 16

输出

15 13 2 5
14 3 4 1
12 6 8 9
16 7 10 11

4 × 4 矩阵同样顺时针旋转 90 度,原矩阵的每一列从下到上依次成为结果矩阵的一行。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。