1. 程式人生 > >leetcode48. Rotate Image(python)

leetcode48. Rotate Image(python)

思路:
先上下翻轉,再沿主對角線翻轉。

class Solution:
    def rotate(self, matrix):
        """
        :type matrix: List[List[int]]
        :rtype: void Do not return anything, modify matrix in-place instead.
        """
        row = len(matrix)
        col = len(matrix[0])
        for i in range(int(row/2))
: for j in range(col): matrix[i][j],matrix[row-1-i][j] = matrix[row-1-i][j],matrix[i][j] #上下翻轉 for i in range(row): for j in range(i): matrix[i][j],matrix[j][i] = matrix[j][i],matrix[i][j] #主對角線翻轉

【總結:】
解法很巧妙,之前看的教程都是在從外圈到內圈逐層做的,還有設定中間變數或者中間陣列暫存值的,這種解法只是在互相交換值,連中間變數都不需要。而且上下翻轉和沿對角線翻轉時,都只需要遍歷一半即可。
最後注意,最後不需要return matrix

,如果有這句話反而會報錯。

參考 https://blog.csdn.net/fuxuemingzhu/article/details/79451733