题目描述
解题思路
也就是一个找规律的题,可以写一个转换前后的坐标对比,很容易能找到规律。[i,j]->[j,length-i-1]上式就是找到的规律。在解题的时候遇到过一个问题,就是如果我单纯的将数组复制给一个中间变量,或者是将数组中的子数组加入到另一个数组,新数组会随着老数组的变化而变化。以上的都是潜复制。要想当作中间变量不随着原数组的改变而改变,必须进行深复制。
解题代码
class Solution:
def rotate(self, matrix: List[List[int]]) -> None:
"""
Do not return anything, modify matrix in-place instead.
"""
#相对来说,有个公式[i,j]->[j,length-i-1]
length=len(matrix)
a=[[]for i in range(0,length)]
for i in range(0,length):
for j in range(0,length):
a[i].append(matrix[i][j])
for i in range(0,length):
for j in range(0,length):
matrix[j][length-i-1]=a[i][j]
return matrix