Leetcode——旋轉影象——python3
阿新 • • 發佈:2019-02-17
# 旋轉影象 # 給定一個 n × n 的二維矩陣表示一個影象,將影象順時針旋轉 90 度。 # 你必須在原地旋轉影象,這意味著你需要直接修改輸入的二維矩陣。請不要使用另一個矩陣來旋轉影象。 class Solution(object): def rotate(self, matrix): # 第一種方法 length = len(matrix) # n*n的矩陣,則返回 length = n # 這兩個迴圈套在一起,作了一個轉置的操作 for i in range(length): # 外層 i 表示迴圈行 for j in range(i+1, length): # 內層 j 表示迴圈列 temp = matrix[i][j] # 將值儲存在一箇中間變數裡 matrix[i][j] = matrix[j][i] matrix[j][i] = temp # 進行列互換的操作:因為是按行儲存,而且是剛好全部顛倒,轉化成將每行倒序輸出賦給原來的值 for i in range(len(matrix)): matrix[i] = matrix[i][::-1] # [::-1]執行列表倒序操作 return matrix # 第二種 # matrix[:] = map(list, zip(*matrix[::-1]))