Python | Leetcode Python题解之第103题二叉树的锯齿形层序遍历

题目:

题解:

class Solution:def zigzagLevelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:if not root: return []res, deque = [], collections.deque()deque.append(root)while deque:tmp = []# 打印奇数层for _ in range(len(deque)):# 从左向右打印node = deque.popleft()tmp.append(node.val)# 先左后右加入下层节点if node.left: deque.append(node.left)if node.right: deque.append(node.right)res.append(tmp)if not deque: break # 若为空则提前跳出# 打印偶数层tmp = []for _ in range(len(deque)):# 从右向左打印node = deque.pop()tmp.append(node.val)# 先右后左加入下层节点if node.right: deque.appendleft(node.right)if node.left: deque.appendleft(node.left)res.append(tmp)return res

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/17597.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python globals的简单使用 和getattr有什么区别?

globals() 和 getattr() 是 Python 中的两个内置函数,但它们的功能和使用场景是完全不同的。 1. **globals()** globals() 函数返回一个字典,表示当前全局符号表的当前状态。这个字典将变量名映射到它们的值。它主要用于查看和修改全局变量。 示例&#…

春秋云境CVE-2020-26048

简介 CuppaCMS是一套内容管理系统(CMS)。 CuppaCMS 2019-11-12之前版本存在安全漏洞,攻击者可利用该漏洞在图像扩展内上传恶意文件,通过使用文件管理器提供的重命名函数的自定义请求,可以将图像扩展修改为PHP&#xf…

SpringBoot之@AutoConfigureBefore、@AutoConfigureAfter、@AutoConfigureOrder注解

前言 SpringBoot通过AutoConfigureOrder、AutoConfigureBefore、AutoConfigureAfter注解,控制自动配置类的实例化顺序。 Spring中控制Bean的实例化顺序 Spring中默认实例化顺序 创建实体类A、B、C Component public class A {public A() {System.out.println(&…

【退役之重学Java】JVM 内存模型和 GC 简述

一、JVM 内存 栈区:存放所有最直接变量,如果是基本数据类型,则存放其值,如果是引用类型,则存放其地址值堆区:对象的存放区域,如果有对象的属性还是一个对象,那么会采用链式存储&…

编程中的模块迷宫:区分与正确使用

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、模块混淆的陷阱 二、碳模块与探母模块的区别 三、如何正确使用模块 四、代码示例 五…

CR渲染噪点严重怎么办?常见噪点来源+排查方法

使用Corona渲染器进行渲染时,画面出现噪点是常见现象,尤其是在渲染初期。轻微的高频噪点通常是正常的,但如果经过多次渲染或长时间渲染后噪点依然明显,就可能意味着渲染设置或场景本身存在问题。虽然我们可以利用降噪功能模糊噪点…

NameSilo + Cloudflare 给网站加个域名(附 NameSilo 购买域名优惠码)

网站做好了之后,下一步就是买域名 在国内买域名的话,还需要备案,个人名下备案好像是还有限制,我就去 NameSilo 上面买的 在买之前,对比过几家 比如: godaddy/namecheap/cloudflare 本来是倾向于在 godaddy 上面买的,因为它支持支付宝支付,但是在详细看的时候,发现如果购买一年…

文心一言 VS 讯飞星火 VS chatgpt (269)-- 算法导论20.2 4题

四、修改 proto-vEB 结构,以支持重复关键字。如果要写代码,请用go语言。 文心一言: 在原始的 van Emde Boas 树(vEB tree)结构中,关键字(key)是唯一的,不允许有重复的关…

DL/ML/RL/TL/FL机器学习框架总结

前言 本文总结了DL/深度学习、ML/机器学习、DML/分布式机器学习、AutoML/自动化机器学习、RL/强化学习、MLaaS/机器学习及服务、SR/语音识别领域的机器学习框架,可作为学习、研究、研发的参考资料。 1.DL/深度学习框架 PyTorch PyTorch是一个开源的Python机器学…

git的使用之筛选文件上传到远程服务器仓库

.gitignore 让本地文件有选择上传到远程服务器仓库 下面是linux内核的.gitignore # # NOTE! Dont add files that are generated in specific # subdirectories here. Add them in the ".gitignore" file # in that subdirectory instead. # # NOTE! Please use gi…

使用fastJSON进行json格式的转换

前言&#xff1a;JSON在传输数据时&#xff0c;起到了特别大的作用&#xff0c;本文是采用的是com.alibaba.fastjson第三方包完成json格式的转换 一、首先导入maven依赖&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>fastjson&…

Github 2024-05-27 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-05-27统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目5TypeScript项目3HTML项目1Go项目1非开发语言项目1Rust项目1Svelte项目1Jupyter Notebook项目1免费编程书籍和学习资源清单 创建周期…

Xinstall:开启携带参数注册新时代,提升用户体验与运营效率

在移动互联网时代&#xff0c;App推广和运营面临着诸多挑战。其中&#xff0c;如何精准追踪用户来源、评估推广效果以及优化用户体验&#xff0c;一直是开发者们关注的焦点。而Xinstall作为一家一站式App全渠道统计服务商&#xff0c;通过其独特的携带参数注册功能&#xff0c;…

C语言布尔类型的前世今生

起初&#xff0c;C语言并没有布尔类型&#xff0c;都是使用int类型的变量来表示布尔值&#xff08;时至今日大家也基本都这样弄&#xff09;。_Bool是C99标准&#xff08;1999年的标准&#xff09;新增的数据类型&#xff0c;用于表示布尔值&#xff08;即逻辑值true和false&am…

solidworks 3D草图案例2-方块异形切

单位mm 单位mm 长方体 底面是48mm*48mm&#xff0c;高为60mm 3D草图 点击线&#xff0c;根据三视图&#xff0c;绘制角度线&#xff0c; 由于三点确定一个面&#xff0c;因此确定三点就可以了 基准面 点击参考几何体-基准面&#xff0c;依次点击3个点 曲面切除 完成后点击插…

TextFormField onSave 和onChange

背景&#xff1a;用户在注册发送验证码的时候&#xff0c;发现一直获取不了_username 原因&#xff1a;_username 用的是 TextFormField onSave 由于这个时候表单并未提交,未触发onSave事件&#xff0c;所以一直取不到_username的值。 submit() {var state this._formKey.cur…

POLARDB:新零售用户MySQL上云最佳选择

什么是云数据库POLARDB&#xff1f; POLARDB是阿里云自主研发的最新一代RDS关系型数据库&#xff0c;是特别针对互联网场景设计的Cloud-Native 云原生数据库。POLARDB for MySQL版本&#xff0c;在提供100%兼容MySQL5.6/8.0的关系型事务处理ACID特性之上&#xff0c;能够提供完…

记录集连接——kettle开发25

一、记录集连接 记录集连接就像数据库的左连接、右连接、内连接、外连接。 需要注意的是&#xff0c;因为我们是对数据流进行操作&#xff0c;因此我们在进行记录集连接操作前&#xff0c;需要先将数据进行排序。 新版的KETTLE&#xff0c;名字都改了&#xff0c;叫Merge joi…

# WIN10/WIN11 找不到【应用商店 Microsoft.WindowsStore】怎么办?

WIN10/WIN11 找不到【应用商店 Microsoft.WindowsStore】怎么办&#xff1f; 解决方法&#xff1a; 1、右键【开始】菜单&#xff0c;点击【Windows PowerShell (管理员)】&#xff0c;输入&#xff1a; Get-AppxPackage -allusers | Select Name, PackageFullName 2、查询…

输入与输出的魔法:探索Python的内置函数

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、从键盘捕获输入&#xff1a;input()函数的力量 二、打印输出&#xff1a;print()函数的…