给定一个 × n 的二维矩阵表示一个图像。

将图像顺时针旋转 90 度。

说明:

你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。

示例 1:

给定 matrix =
[
[1,2,3],
[4,5,6],
[7,8,9]
], 原地旋转输入矩阵,使其变为:
[
[7,4,1],
[8,5,2],
[9,6,3]
]

解题思路:先写出其转置矩阵,然后每行列表反转

 1 class Solution:
2 def rotate(self, matrix: List[List[int]]) -> None:
3 """
4 Do not return anything, modify matrix in-place instead.
5 """
6 n = len(matrix)
7 for i in range(n):
8 for j in range(n):
9 if i < j:
10 matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
11 for i in matrix:
12 i.reverse()

给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。

示例 1:

输入:
[
[ 1, 2, 3 ],
[ 4, 5, 6 ],
[ 7, 8, 9 ]
]
输出: [1,2,3,6,9,8,7,4,5]
思路:分为上右下左来进行
 1 class Solution:
2 def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
3 ret = []
4 while matrix:
5 ret += matrix.pop(0)
6 if matrix and matrix[0]:
7 for i in matrix:
8 ret.append(i.pop())
9 if matrix:
10 ret += matrix.pop()[::-1]#注意翻转
11 if matrix and matrix[0]:
12 for i in matrix[::-1]:
13 ret.append(i.pop(0))
14 return ret

leetcode -- 旋转矩阵相关问题的更多相关文章

  1. leetcode tree相关题目总结

    leetcode tree相关题目小结 所使用的方法不外乎递归,DFS,BFS. 1. 题100 Same Tree Given two binary trees, write a function ...

  2. [LeetCode] [链表] 相关题目总结

    刷完了LeetCode链表相关的经典题目,总结一下用到的技巧: 技巧 哑节点--哑节点可以将很多特殊case(比如:NULL或者单节点问题)转化为一般case进行统一处理,这样代码实现更加简洁,优雅 ...

  3. [leetcode] 根据String数组构造TreeNode,用于LeetCode树结构相关的测试用例

    LeetCode 跟树结构相关的题目的测试用例中大多是通过String数组来构造树.例如{2,#,3,#,4,#,5,#,6},可以构造出如下的树(将树结构逆时针选择90度显示): 6         ...

  4. leetcode String相关

    目录 3无重复字符的最长子串 5最长回文子串 8字符串转换整数(atoi), 9回文数,7整数反转 28实现strStr(), 459重复的子字符串(KMP) 43字符串相乘 71简化路径 93复原I ...

  5. [LeetCode] 二叉树相关题目(不完全)

    最近在做LeetCode上面有关二叉树的题目,这篇博客仅用来记录这些题目的代码. 二叉树的题目,一般都是利用递归来解决的,因此这一类题目对理解递归很有帮助. 1.Symmetric Tree(http ...

  6. LeetCode - 排列相关题目

    1.获取全排列 https://leetcode.com/problems/permutations/submissions/ 按字典序输出: 这里用的是vector<int>,不是引用. ...

  7. leetcode链表相关

    目录 2/445两数相加 综合题(328奇偶链表, 206反转链表, 21合并两个有序链表 ) 92反转链表 II 链表排序(148排序链表, 876链表的中间结点) 142环形链表 II 160相交 ...

  8. Leetcode | Parentheses 相关

    Generate Parentheses Given n pairs of parentheses, write a function to generate all combinations of ...

  9. leetCode 字符串相关问题

    125. 验证回文串 /* * 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. * 输入: "A man, a plan, a canal: Panama& ...

  10. leetcode 链表相关

    1.给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们 ...

随机推荐

  1. [转载]python跨文件使用全局变量的实现

    python跨文件使用全局变量的实现 更新时间:2022-10-25 14:46:38发布时间:602天前 朗读 Python 定义了全局变量的特性,使用global 关键字修饰 1 global k ...

  2. java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)问题

    此报错大多数存在的问题为mysql密码错误,需要去JDBC文件中寻找url查看是否密码错误.

  3. Css3中有关的 @media 媒体查询相关的知识

    1,书写格式 @media语法: @media[mediatype][and|not|only]([mediafeature]){ /*css code*/ } 常用mediatype all     ...

  4. Git安装,配置、基本使用

    p.p1 { margin: 0; font: 12px ".PingFang SC" } p.p2 { margin: 0; text-align: justify; font: ...

  5. Appium常见属性和命令

    from appium import webdriverimport time, tracebackdesired_caps = {}desired_caps['platformName'] = 'A ...

  6. python关于函数超时异常处理

    import time import func_timeout from func_timeout import func_set_timeout def time_sleep(): time.sle ...

  7. gcc_to_use

    gcc 目录 gcc 概要 基本指令及功能(以gcc为例) gcc -gdb gcc -cmake 概要 GCC:GNU Compiler Collection(GUN 编译器集合),是GNU项目中符 ...

  8. 【C++】【纯代码】获取电脑的mac地址

    bool GetMacAddress(CString &LanMAC) { #define MAX_ADAPTER_NAME_LENGTH 256 #define MAX_ADAPTER_DE ...

  9. 前端js校验小数点

    let result = (value.toString()).indexOf("."); if (result != -1 && value.toString() ...

  10. spring的aop的粗浅理解

    aop有什么用? 假设你写了一本书,写的是一个平民的日常聊天.现在突然你想让这个平民变成一个书生的口气.于是你想在这个平民的每句话之前加上"之乎",后面加上"者也&quo ...