class Solution:
def rotate(self, matrix]):
n = len(matrix)
# 水平翻转
for i in range(n // 2):
for j in range(n):
matrix[i][j], matrix[n - i - 1][j] = matrix[n - i - 1][j], matrix[i][j]
# 主对角线翻转
for i in range(n):
for j in range(i):
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
class Solution(object):
# (因为矩阵是正方形,所以 右对角线翻转,再水平翻转)
def rotate(self, matrix):
n = len(matrix)
# 沿右对角线 翻转 0,0 2,2;1,0 2,1 (里层和/外层和为n-1)
for i in range(n-1):
for j in range(n-i-1):
#(i,j) 右对角线上的元素(i,n-1-i) (i + n-1-i-j,)
# (i,j) 右对角线上的元素(n-1-j,j) ( ,j +
0.题目1. 两次翻转替代旋转class Solution: def rotate(self, matrix]): n = len(matrix) # 水平翻转 for i in range(n // 2): for j in range(n): matrix[i][j], matrix[n - i - 1][j] = matrix[n - i - 1][j], matrix[i].