思路
旋转矩形有特定的公式,不过这里要求不能使用多余的矩阵,所以要用另一种思路:先斜对角对折后横线对折。考虑横线对折比较方便,所以采用左丿对角线对折
AC代码
class Solution(object):
def rotate(self, matrix):
"""
:type matrix: List[List[int]]
:rtype: None Do not return anything, modify matrix in-place instead.
"""
n = len(matrix)
for i in range(n):
for j in range(n-i-1):
matrix[i][j], matrix[n-j-1][n-i-1]= matrix[n-j-1][n-i-1], matrix[i][j]
for i in range(n/2):
matrix[i], matrix[n-i-1] = matrix[n-i-1], matrix[i]