Python 解leetcode:48. Rotate Image

Posted 潇湘旧友

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 解leetcode:48. Rotate Image相关的知识,希望对你有一定的参考价值。

  • 题目描述:把一个二维数组顺时针旋转90度;

  • 思路:
  1. 对于数组每一圈进行旋转,使用m控制圈数;
  2. 每一圈的四个元素顺时针替换,可以直接使用Python的解包,使用k控制每一圈的具体元素;
class Solution(object):
    def rotate(self, matrix):
        """
        :type matrix: List[List[int]]
        :rtype: void Do not return anything, modify matrix in-place instead.
        """
        n = len(matrix)
        m = 0
        while m <= n / 2:
            k = m
            while k < n - 1 - m:
                matrix[m][k], matrix[k][n-1-m], matrix[n-1-m][n-1-k], matrix[n-1-k][m] = \
                    matrix[n-1-k][m], matrix[m][k], matrix[k][n-1-m], matrix[n-1-m][n-1-k]
                k += 1
            m += 1

以上是关于Python 解leetcode:48. Rotate Image的主要内容,如果未能解决你的问题,请参考以下文章

Python 解leetcode:728. Self Dividing Numbers

Python 解leetcode:49. Group Anagrams

Python 解LeetCode:367. Valid Perfect Square

Python 解LeetCode:394 Decode String

Python解Leetcode: 539. Minimum Time Difference

Python 解LeetCode:680. Valid Palindrome II