Java 矩阵 90 度旋转 | Java 矩阵顺时针和逆时针旋转

2025年8月5日 | 阅读 4 分钟

在本节中,我们将创建一个 Java 程序来将矩阵顺时针和逆时针旋转 90 度。顺时针旋转也称为矩阵的右旋,矩阵的逆时针旋转也称为矩阵的左旋

顺时针或右旋矩阵 90 度

矩阵的旋转涉及两个步骤

  • 首先,找到给定矩阵的转置。
  • 交换第一列和最后一列的元素(如果矩阵是 3*3)。第二列保持不变。

这是一个有效的解决方案。

注意:矩阵必须具有相同的行数和列数。

Rotate Matrix by 90 Degrees in Java

让我们通过一个例子来理解。假设矩阵是

Rotate Matrix by 90 Degrees in Java

让我们找到矩阵的转置。

Rotate Matrix by 90 Degrees in Java

为了获得旋转后的矩阵,交换第一列和最后一列。

Rotate Matrix by 90 Degrees in Java

上述矩阵已旋转 90 度。

如果给定矩阵是 4*4 矩阵,则交换第一列和最后一列,第二列和第三列。例如,请看下图。

Rotate Matrix by 90 Degrees in Java

步骤 1:找到矩阵的转置。

步骤 2:交换元素。

让我们在 Java 程序中实现上述逻辑。

RotateMatrix.java

输出

Rotate Matrix by 90 Degrees in Java

让我们看看相同的另一个逻辑。

RotateMatrixClockwise.java

输出

Rotate Matrix by 90 Degrees in Java

矩阵旋转的时间复杂度为O(n*n),空间复杂度为O(1),因为我们在旋转矩阵时没有使用额外的空间。

逆时针或左旋矩阵 90 度

Rotate Matrix by 90 Degrees in Java

RotateMatrix.java

输出

Rotate Matrix by 90 Degrees in Java

让我们看另一种逻辑。

RotateMatrixAniclockwise.java

输出

Rotate Matrix by 90 Degrees in Java
下一个主题Java 原生方法