news 2026/4/11 22:22:07

LeetCode(python)199.二叉树的右视图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode(python)199.二叉树的右视图

题目

给定一个二叉树的根节点root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

示例 1:

输入:root = [1,2,3,null,5,null,4]

输出:[1,3,4]

解释:

示例 2:

输入:root = [1,2,3,4,null,null,null,5]

输出:[1,3,4,5]

解释:

示例 3:

输入:root = [1,null,3]

输出:[1,3]

示例 4:

输入:root = []

输出:[]

提示:

  • 二叉树的节点个数的范围是[0,100]
  • -100 <= Node.val <= 100

思路

很自然的一个想法——二叉树的层序遍历,输出每一层的最后一个节点值

在遍历当前层时,用n记录当前层有多少个节点,并判断是否为最后一个节点

代码

# Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def rightSideView(self, root: Optional[TreeNode]) -> List[int]: if not root: return [] # 二叉树为空 queue = collections.deque() # 定义双端队列 ans = [] # 定义返回的答案 queue.append(root) while queue: # 层序遍历二叉树 n = len(queue) # 记录当前层的节点数 for i in range(n): # 在存进下一层节点时,计数 node = queue.popleft() # 该节点已遍历,弹出 if i == n - 1: # 如果是该层最后一个节点,存入ans ans.append(node.val) if node.left: queue.append(node.left) # 把下一层的节点存进队列 if node.right: queue.append(node.right) return ans
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 15:28:52

9 个继续教育文献综述工具,AI 写作降重推荐

9 个继续教育文献综述工具&#xff0c;AI 写作降重推荐 论文写作的“重灾区”&#xff1a;文献综述与降重的双重挑战 在继续教育的学习过程中&#xff0c;撰写文献综述是一项既重要又令人头疼的任务。它不仅是对已有研究成果的梳理和总结&#xff0c;更是展现学术思维与研究能力…

作者头像 李华
网站建设 2026/4/8 11:16:34

Spark命令行工具终极指南:如何在Shell中快速生成数据可视化图表

Spark命令行工具终极指南&#xff1a;如何在Shell中快速生成数据可视化图表 【免费下载链接】spark ▁▂▃▅▂▇ in your shell. 项目地址: https://gitcode.com/gh_mirrors/spark/spark Spark是一个轻量级的命令行工具&#xff0c;专门用于在终端中生成简洁的Sparkli…

作者头像 李华
网站建设 2026/4/7 10:52:18

IT68051:支持3D的双端口HDMI 2.0b接收器

IT68051为双端口HDMI 2.0b接收器&#xff0c;支持6.0 Gbps/通道速度&#xff0c;每个端口最高18 Gb/s带宽。它完全兼容HDMI 1.4b/HDMI 2.0b、HDCP 1.4/HDCP 2.2&#xff0c;并且向下兼容DVI 1.0规范。IT68051具备深色&#xff08;最高36位&#xff09;功能&#xff0c;确保高质…

作者头像 李华
网站建设 2026/4/7 8:38:26

PyFluent 实战指南:构建Python驱动的CFD工作流

PyFluent 实战指南&#xff1a;构建Python驱动的CFD工作流 【免费下载链接】pyfluent Pythonic interface to Ansys Fluent 项目地址: https://gitcode.com/gh_mirrors/py/pyfluent 在当今工程仿真领域&#xff0c;将Python编程能力与专业CFD工具相结合已成为提升工作效…

作者头像 李华
网站建设 2026/4/7 9:04:30

终极Marlin固件配置指南:从零开始快速上手

终极Marlin固件配置指南&#xff1a;从零开始快速上手 【免费下载链接】Marlin Marlin 是一款针对 RepRap 3D 打印机的优化固件&#xff0c;基于 Arduino 平台。 项目地址: https://gitcode.com/GitHub_Trending/ma/Marlin 还在为3D打印机固件配置头疼吗&#xff1f;每次…

作者头像 李华
网站建设 2026/4/9 13:40:20

图数据库性能卡顿怎么办,MCP DP-420 Agent优化方案全解析

第一章&#xff1a;图数据库性能卡顿的根源分析 图数据库在处理高度关联数据时展现出强大优势&#xff0c;但在实际应用中常出现查询延迟、响应缓慢等性能卡顿问题。其根本原因往往隐藏在数据模型设计、索引策略、硬件资源及查询语句优化等多个层面。 数据模型设计不合理 当节…

作者头像 李华