本文共 758 字,大约阅读时间需要 2 分钟。
为了顺时针旋转给定的n×n矩阵,我们可以利用矩阵的位置变换规律。旋转90度后,原矩阵中的元素会被重新排列,新的位置(i, j)将对应原矩阵中的位置(n-1-j, i)。通过遍历每个位置并直接赋值,我们可以在原地完成旋转。
public class Solution { public void rotate(int[][] matrix) { int n = matrix.length; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { int fromRow = n - 1 - j; int fromCol = i; matrix[i][j] = matrix[fromRow][fromCol]; } } }}
这种方法高效且直接,能够在原地完成矩阵的旋转,避免了额外空间的使用。
转载地址:http://pfgfk.baihongyu.com/