news 2026/6/10 23:12:51

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/6/10 21:22:54

fastapi双token机制登录实现

fastapi双token机制登录实现一、整体架构二、代码实现from datetime import datetime, timedelta, timezone import uuidfrom redis import asyncio from fastapi import HTTPException, Depends,FastAPI,Response,Request from fastapi.security import HTTPBearer, HTTPAutho…

作者头像 李华
网站建设 2026/6/10 6:21:42

AI数字人对话系统终极指南:从零构建智能交互平台

AI数字人对话系统终极指南&#xff1a;从零构建智能交互平台 【免费下载链接】OpenAvatarChat 项目地址: https://gitcode.com/gh_mirrors/op/OpenAvatarChat 在人工智能技术飞速发展的今天&#xff0c;AI数字人对话系统正成为企业数字化转型和个人智能助手应用的重要工…

作者头像 李华
网站建设 2026/6/10 12:20:44

Wan2.2-T2V-A14B在法庭证据演示动画中的谨慎应用建议

Wan2.2-T2V-A14B在法庭证据演示动画中的谨慎应用建议 在一场复杂的刑事案件审理中&#xff0c;陪审团需要理解的可能不只是“谁做了什么”&#xff0c;而是动作发生的顺序、空间关系的逻辑、以及行为之间的因果链条。文字记录和口述证词虽然详尽&#xff0c;但对普通人来说&…

作者头像 李华
网站建设 2026/6/10 15:16:31

对比:传统ADB调试 vs AI辅助的问题解决效率

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个ADB效率对比测试工具&#xff0c;功能&#xff1a;1) 模拟ADB连接故障 2) 记录手动修复过程耗时 3) 自动修复流程耗时统计 4) 生成对比报告。使用Python实现&#xff0c;包…

作者头像 李华
网站建设 2026/6/9 21:19:59

基于多维度分析的海外网红营销精准选择与效果预测

在全球化营销快速演进的环境下&#xff0c;海外网红营销已从“凭感觉选人”走向“用数据决策”。尤其在品牌竞争加剧、内容形式不断演化的当下&#xff0c;如何精准筛选最适合品牌的海外网红&#xff0c;并在合作前对传播效果进行可预测性评估&#xff0c;已成为品牌能否提高投…

作者头像 李华
网站建设 2026/6/10 8:27:47

CoreProtect终极安装配置指南:快速搭建Minecraft服务器监控系统

快速上手篇&#xff1a;零基础安装指南 【免费下载链接】CoreProtect CoreProtect is a blazing fast data logging and anti-griefing tool for Minecraft servers. 项目地址: https://gitcode.com/gh_mirrors/co/CoreProtect 环境准备与前置检查 在开始安装CoreProte…

作者头像 李华