旋转图像(力扣100)
第一种方法手动模拟转圈互换第二种方法先对折再翻转。假设矩阵的长宽都是n。 矩阵里的一个点坐标是(i, j)如果把整个图像顺时针旋转 90 度原来的“行 i”变成了旋转后的“列”。原来的“列 j”变成了旋转后的“行”。具体的坐标变化公式是(i, j)最终必须变成(j, n-1-i)。先解决行列互换的问题想办法先把(i, j)变成(j, i)。 沿着左上到右下的主对角线把矩阵对折即可完成就是matrix[i][j]和matrix[j][i]互换。再解决朝向的问题现在坐标变成了(j, i)但我们的最终目标是(j, n-1-i)。行坐标j已经完美了列坐标需要从从i变成n-1-i,就是把每一行左右翻转。class Solution(object): def rotate(self, matrix): :type matrix: List[List[int]] :rtype: None Do not return anything, modify matrix in-place instead. nlen(matrix) for i in range(n): for j in range(i1,n): matrix[i][j],matrix[j][i]matrix[j][i],matrix[i][j] for i in range(n): matrix[i].reverse()