{
  "type": "code_options",
  "author": "https://github.com/qiyuangong/leetcode",
  "source": "solution.md",
  "exercise_id": "c3f41a2455904f5592df1ff3aa5e3519",
  "keywords": "数组,数学,矩阵",
  "title": "旋转图像",
  "desc": [
    {
      "content": "\n<p>给定一个 <em>n </em>× <em>n</em> 的二维矩阵 <code>matrix</code> 表示一个图像。请你将图像顺时针旋转 90 度。</p><p>你必须在<strong><a href=\"https://baike.baidu.com/item/%E5%8E%9F%E5%9C%B0%E7%AE%97%E6%B3%95\" target=\"_blank\"> 原地</a></strong> 旋转图像，这意味着你需要直接修改输入的二维矩阵。<strong>请不要 </strong>使用另一个矩阵来旋转图像。</p><p> </p><p><strong>示例 1：</strong></p><img alt=\"\" src=\"https://cdn.jsdelivr.net/gh/doocs/leetcode@main/solution/0000-0099/0048.Rotate%20Image/images/mat1.jpg\" style=\"width: 642px; height: 242px;\" /><pre><strong>输入：</strong>matrix = [[1,2,3],[4,5,6],[7,8,9]]<strong><br />输出：</strong>[[7,4,1],[8,5,2],[9,6,3]]</pre><p><strong>示例 2：</strong></p><img alt=\"\" src=\"https://cdn.jsdelivr.net/gh/doocs/leetcode@main/solution/0000-0099/0048.Rotate%20Image/images/mat2.jpg\" style=\"width: 800px; height: 321px;\" /><pre><strong>输入：</strong>matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]<strong><br />输出：</strong>[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]</pre><p><strong>示例 3：</strong></p><pre><strong>输入：</strong>matrix = [[1]]<strong><br />输出：</strong>[[1]]</pre><p><strong>示例 4：</strong></p><pre><strong>输入：</strong>matrix = [[1,2],[3,4]]<strong><br />输出：</strong>[[3,1],[4,2]]</pre><p> </p><p><strong>提示：</strong></p><ul>\t<li><code>matrix.length == n</code></li>\t<li><code>matrix[i].length == n</code></li>\t<li><code>1 <= n <= 20</code></li>\t<li><code>-1000 <= matrix[i][j] <= 1000</code></li></ul>",
      "language": "markdown"
    }
  ],
  "answer": [
    {
      "content": "",
      "language": "python"
    }
  ],
  "prepared": [
    [
      {
        "content": "",
        "language": "python"
      }
    ],
    [
      {
        "content": "",
        "language": "python"
      }
    ],
    [
      {
        "content": "",
        "language": "python"
      }
    ]
  ],
  "template": {
    "content": "class Solution(object):\n\tdef rotate(self, matrix):\n\t\tif matrix is None or len(matrix) == 1:\n\t\t\treturn\n\t\tls = len(matrix)\n\t\tfor i in range(int(ls / 2)):\n\t\t\tbegin, end = i, ls - 1 - i\n\t\t\tfor k in range(ls - 2 * i - 1):\n\t\t\t\ttemp = matrix[end - k][begin]\n\t\t\t\tmatrix[end - k][begin] = matrix[end][end - k]\n\t\t\t\tmatrix[end][end - k] = matrix[begin + k][end]\n\t\t\t\tmatrix[begin + k][end] = matrix[begin][begin + k]\n\t\t\t\tmatrix[begin][begin + k] = temp\n\t\treturn matrix\nif __name__ == '__main__':\n\ts = Solution()\n\tprint(s.rotate([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]))\n\tprint(s.rotate( [[1,2],[3,4]]))",
    "language": "python"
  },
  "node_id": "dailycode-8c22cff947234df7a45ae4e553106499",
  "license": "csdn.net",
  "created_at": 1637894159,
  "topic_link": "https://bbs.csdn.net/topics/600470225"
}