news 2026/3/26 14:26:48

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/3/26 4:15:20

高性能数据存储实战指南:LevelDB在分布式系统中的深度应用

高性能数据存储实战指南&#xff1a;LevelDB在分布式系统中的深度应用 【免费下载链接】leveldb LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. 项目地址: https://gitcode.com/GitH…

作者头像 李华
网站建设 2026/3/14 12:46:47

Boot镜像修复神器:Magisk Patcher深度使用指南

Boot镜像修复神器&#xff1a;Magisk Patcher深度使用指南 【免费下载链接】Boot.img修补工具-MagiskPatcher 本仓库提供了一个名为“Boot.img 修补工具 - Magisk Patcher”的资源文件。该工具主要用于修补有锁的BOOT镜像文件&#xff0c;帮助用户在需要的情况下对Boot.img进行…

作者头像 李华
网站建设 2026/3/14 9:24:52

Wan2.2-T2V-A14B如何应对长序列视频生成中的时序断裂问题?

Wan2.2-T2V-A14B如何应对长序列视频生成中的时序断裂问题&#xff1f; 在影视预演的会议室里&#xff0c;导演盯着屏幕皱起眉头&#xff1a;“这个角色前一秒还在雨中跳舞&#xff0c;怎么下一秒就换了身衣服&#xff1f;而且……她是谁&#xff1f;” 这并非演员失误&#xff…

作者头像 李华
网站建设 2026/3/15 12:52:19

1.GPIO

1. GPIO介绍 GPIO 是 “General-Purpose Input/Output” 的缩写&#xff0c;即通用输入 / 输出接口&#xff0c;是嵌入式系统&#xff08;如单片机、MCU&#xff09;中最基础的硬件接口之一。 核心特点 通用性&#xff1a;可灵活配置为 “输入” 或 “输出” 模式&#xff0c…

作者头像 李华
网站建设 2026/3/14 12:47:19

GameFramework框架完整解析:Unity游戏开发的终极解决方案

GameFramework框架完整解析&#xff1a;Unity游戏开发的终极解决方案 【免费下载链接】GameFramework This is literally a game framework, based on Unity game engine. It encapsulates commonly used game modules during development, and, to a large degree, standardis…

作者头像 李华
网站建设 2026/3/26 3:30:50

AI视频工具普及,为何内容团队加班更多了?

随着AI视频生成工具的快速普及&#xff0c;一个看似矛盾的现象正在内容行业蔓延&#xff1a;技术本应解放生产力&#xff0c;但许多团队的加班时长却不降反增。据2023年行业白皮书显示&#xff0c;超过60%的受访团队表示&#xff0c;在引入AI工具后&#xff0c;内容生产的“隐性…

作者头像 李华