Python | Leetcode Python题解之第199题二叉树的右视图

题目:

题解:

class Solution:
    def rightSideView(self, root: TreeNode) -> List[int]:
        rightmost_value_at_depth = dict() # 深度为索引,存放节点的值
        max_depth = -1

        stack = [(root, 0)]
        while stack:
            node, depth = stack.pop()

            if node is not None:
                # 维护二叉树的最大深度
                max_depth = max(max_depth, depth)

                # 如果不存在对应深度的节点我们才插入
                rightmost_value_at_depth.setdefault(depth, node.val)

                stack.append((node.left, depth + 1))
                stack.append((node.right, depth + 1))

        return [rightmost_value_at_depth[depth] for depth in range(max_depth + 1)]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

15 个适用于企业的生成式 AI 用例

作者:来自 Elastic Jennifer Klinger 关于生成式人工智能及其能做什么(和不能做什么)有很多讨论。生成式人工智能(例如大型语言模型 - LLMs)利用从大量训练数据中学习到的模式和结构来创建原创内容,而无需存…

weiyang**2.部署

一、官方文档 一键部署可以在 同机 快速搭建WeBASE管理台环境,方便用户快速体验WeBASE管理平台。 一键部署会搭建:节点(FISCO-BCOS 2.0)、管理平台(WeBASE-Web)、节点管理子系统(WeBASE-Node-…

3D生物打印的未来:多材料技术的突破

多材料生物打印技术是近年来发展迅速的一项技术,为组织工程和再生医学带来了新的机遇,可以帮助我们更好地理解人体组织的结构和功能,并开发新的治疗方法。 1. 组织构建 复杂性模拟:多材料生物打印技术能够构建具有层次结构和异质…

2022年第十三届蓝桥杯比赛Java B组 【全部真题答案解析-第二部分】

上一篇文章:2022年第十三届蓝桥杯比赛Java B组 【全部真题答案解析-第一部分】_尘封的CPU的博客-CSDN博客最近回顾了Java B组的试题,深有感触:脑子长时间不用会锈住,很可怕。兄弟们,都给我从被窝里爬起来,赶…

综合项目实战--jenkins节点模式

一、DevOps流程 DevOps是一种方法论,是一系列可以帮助开发者和运维人员在实现各自目标的前提下,向自己的客户或用户交付最大化价值及最高质量成果的基本原则和实践,能让开发、测试、运维效率协同工作的方法。 DevOps流程(自动化测试部分) DevOps完整流程 二、gitee+j…

Burpsuite靶场中信息泄露相关的实验通关

目录 第一关:错误消息中的信息披露 第二关:调试页面信息披露 第三关:通过备份文件披露源代码 第四关:通过信息披露绕过身份验证 第五关:版本控制历史中的信息披露 最近看大佬的文章,发现了很对自己没有…

IOS Swift 从入门到精通:ios 连接数据库 安装 Firebase 和 Firestore

创建 Firebase 项目 导航到Firebase 控制台并创建一个新项目。为项目指定任意名称。 在这里插入图片描述 下一步,启用 Google Analytics,因为我们稍后会用到它来发送推送通知。 在这里插入图片描述 在下一个屏幕上,选择您的 Google Analytics 帐户(如果已创建)。如果没…

FFT的IP核使用报错的检查流程

一、config部分 拉出clk resetn, s_axis_config_tdata, s_axis_config_tready, s_axis_config_tvalid .这四个信号。 时序行为解释:

【python - 数据】

一、序列 序列(sequence)是一组有顺序的值的集合,是计算机科学中的一个强大且基本的抽象概念。序列并不是特定内置类型或抽象数据表示的实例,而是一个包含不同类型数据间共享行为的集合。也就是说,序列有很多种类&…

第0章_项目方案介绍

文章目录 第0章 项目方案介绍0.1 功能介绍0.2 硬件方案0.3 软件方案0.3.1 上位机方案0.3.2 **中控方案**0.3.3 **传感器方案**0.3.4 **技术难点** 第0章 项目方案介绍 0.1 功能介绍 本课程来自一个真实项目:多个气体传感器的管理。由于气体传感器比较昂贵&#xf…

mysql5.7安装使用

mysql5.7安装包:百度网盘 提取码: 0000 一、 安装步骤 双击安装文件 选择我接受许可条款–Next 选择自定义安装,下一步 选择电脑对应的系统版本后(我的系统是64位),点击中间的右箭头,选择Next 选择安装路径–Next 执行…

第1章:计算机系统知识

第1章:计算机系统知识 校验码 海明码 1、数据怎么分组,为什么这样分组? 分组1:1、3、5、7 分组2:2、3、6、7 分组3:4、5、6、7 目的就是为了纠错,从下面图便可以知道 2、为什么检验位在2∧…

动态应用安全测试 (DAST) 与渗透测试:应用程序安全测试综合指南

二十多年来,Web 应用程序一直是许多企业的支柱,因此其安全性至关重要。 动态应用程序安全测试 (DAST) 和渗透测试对于识别和缓解 Web 应用程序安全中的安全漏洞至关重要。 虽然两者都旨在增强应用程序安全性,但它们在方法、执行和结果方面存在很大差异。 本综合指南将探讨…

[SAP ABAP] 数据字典

ABAP数据字典是定义和管理数据库对象的工具 系统的所有全局数据类型以及数据库表结构等都需要在数据字典中创建和维护(数据字典中的对象对所有ABAP程序都是全局的) 通过数据字典,我们可以把数据库对象管理好,后续才能顺利的进行功能开发,SA…

【MySQL基础篇】SQL指令:DQL及DCL

1、DQL DQL - 介绍 DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据表中的记录。(在MySQL中应用是最为广泛的) 查询关键字:SELECT DQL - 语法 SELECT 字段列表 FROM 表名列表 WHER…

1262. 可被三整除的最大和(leetcode)

1262. 可被三整除的最大和(leetcode) 题目描述 给你一个整数数组 nums,请你找出并返回能被三整除的元素 最大和。 示例1 输入:nums [3,6,5,1,8] 输出:18 解释:选出数字 3, 6, 1 和 8,它们的和…

Redisson框架

1. Redisson锁与Redis订阅与发布模式的联系: Redisson锁中,使用订阅发布模式去通知等待锁的客户端:锁已经释放,可以进行抢锁。 publish channel_name message:将消息发送到指定频道 解锁时,在Lua解锁脚本…

Python: PyCharm 2023.1 调试

1.设断点 (行号对应的红色点,在需要设置断点的代码行与行号之间鼠标点击即可以设置) 2.shiftF9,或 altshiftf9 选择文件 或是在菜单 Run->debug "main" 或是在菜单Run->debug 选择文件 (鼠标光标放在设置第一个…

Linux下安装RocketMQ:从零开始的消息中间件之旅

感谢您阅读本文,欢迎“一键三连”。作者定会不负众望,按时按量创作出更优质的内容。 ❤️ 1. 毕业设计专栏,毕业季咱们不慌,上千款毕业设计等你来选。 RocketMQ是一款分布式消息中间件,具有高吞吐量、低延迟、高可用性…

环回接口处理 IP 数据报的过程及 Loopback 接口的主要作用

环回接口处理 IP 数据报的过程 IPv4 中 传给环回地址(127.0.0.1)的任何数据均作为 IP 输入,直接送到环回接口(环回:IP 输入队列)。 传给广播地址或多播地址的数据报,会复制一份传给环回接口&…