法一:reverse()函数,zip()函数
执行用时:44 ms, 在所有 Python3 提交中击败了33.42%的用户
内存消耗:14.7 MB, 在所有 Python3提交中击败了84.39%的用户
class Solution:
def rotate(self, matrix: List[List[int]]) -> None:
"""
Do not return anything, modify matrix in-place instead.
"""
matrix.reverse()
matrix[::]=list(zip(*matrix))
法二:颠倒+转置
36 ms 14.7 MB Python3
#上下颠倒
n=len(matrix)
for i in range(0,n//2):
matrix[i],matrix[n-1-i]=matrix[n-1-i],matrix[i]
#转置
for i in range(n):
for j in range(i+1,n):
matrix[i][j],matrix[j][i]=matrix[j][i],matrix[i][j]
法三:旋转
执行用时: 36 ms , 在所有 Python3 提交中击败了83.19% 的用户
内存消耗:14.8 MB , 在所有 Python3 提交中击败了 69.62% 的用户
#旋转
n=len(matrix)
for i in range(n//2):
for j in range((n+1)//2):
matrix[j][n-1-i],matrix[n-1-i][n-j-1],matrix[n-j-1][i],matrix[i][j]=matrix[i][j],matrix[j][n-1-i],matrix[n-1-i][n-j-1],matrix[n-j-1][i]