NO48. 旋转图像
①沿对角线进行翻折
②每行就行反转
本质:除开对角线进行180°翻折,在每一行进行反转返回90°就可以达到反转90°的效果
class Solution:
def rotate(self, matrix: List[List[int]]) -> None:
"""
Do not return anything, modify matrix in-place instead.
"""
dimension = len(matrix)
for i in range(dimension):
for j in range(i):
matrix[i][j],matrix[j][i] = matrix[j][i],matrix[i][j]
for line in matrix:
line.reverse()
循环条件为pos1<pos2
class Solution:
def rotate(self, matrix: List[List[int]]) -> None:
"""
Do not return anything, modify matrix in-place instead.
"""
pos1,pos2 =0,len(matrix)-1
while pos1<pos2:
add = 0
while add<pos2-pos1:
#每四个就行一换
temp = matrix[pos2-add][pos1]
matrix[pos2-add][pos1] = matrix[pos2][pos2-add]
matrix[pos2][pos2-add] = matrix[pos1+add][pos2]
matrix[pos1+add][pos2] = matrix[pos1][pos1+add]
matrix[pos1][pos1+add] = temp
add+=1
pos1+=1
pos2-=1