news 2026/8/7 23:03:32

LeetCode 分类刷题:199. 二叉树的右视图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode 分类刷题:199. 二叉树的右视图

题目

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

解析

// 怎么递归找到每一层的最右节点?

// 从根节点开始,先遍历右子树的节点,再遍历左子树的节点

// 根节点 深度为0 右视图节点数为0 加入右视图

// 第一层最右节点 深度为1 右视图节点数为1 加入右视图

// ……

// 每一层的最右节点满足条件:所在层的深度 = 右视图节点数

答案

var rightSideView = function(root) { const ans = []; function dfs(node, depth) { if (node === null) { return; } if (depth === ans.length) { // 这个深度首次遇到 ans.push(node.val); } dfs(node.right, depth + 1); // 先递归右子树,保证首次遇到的一定是最右边的节点 dfs(node.left, depth + 1); } dfs(root, 0); return ans; }; // 作者:灵茶山艾府 // 链接:https://leetcode.cn/problems/binary-tree-right-side-view/solutions/2015061/ru-he-ling-huo-yun-yong-di-gui-lai-kan-s-r1nc/ // 来源:力扣(LeetCode) // 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

复杂度分析

时间复杂度:O(n),其中 n 是二叉树的节点个数。
空间复杂度:O(h),其中 h 是二叉树的高度。递归需要 O(h) 的栈空间。最坏情况下,二叉树退化成一条链,递归需要 O(n) 的栈空间。

作者:灵茶山艾府
链接:https://leetcode.cn/problems/binary-tree-right-side-view/solutions/2015061/ru-he-ling-huo-yun-yong-di-gui-lai-kan-s-r1nc/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/7 0:39:54

P2MS:比特币的多重签名机制与比特鹰的技术解析

在比特币生态中,P2MS(Pay To Multisig)是实现资产多人共管的核心技术。通过多重签名机制,P2MS为机构与团队提供了更高的资金安全性。比特鹰将解析其技术逻辑、应用场景及潜在限制。P2MS技术原理:比特鹰的三步拆解 比特…

作者头像 李华
网站建设 2026/8/7 0:46:18

终极AI字幕生成指南:快速掌握智能字幕处理技巧

终极AI字幕生成指南:快速掌握智能字幕处理技巧 【免费下载链接】ComfyUI_SLK_joy_caption_two ComfyUI Node 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_SLK_joy_caption_two ComfyUI字幕生成插件是一款强大的AI工具,能够为图像自动生…

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

C语言程序设计教学指导:突破误区,设计有效实验项目

在编程教育中,C语言教学具有基石地位。它不仅是理解计算机底层逻辑的关键,更是培养学生严谨计算思维的起点。然而,传统的C语言教学常陷入语法细节的泥潭,让学生感到抽象枯燥。有效的教学应超越语法本身,引导学生理解其…

作者头像 李华
网站建设 2026/8/7 22:54:51

DirectX 9.0b SDK介绍:核心组件、在游戏中的重要性

DirectX 9.0b SDK 是微软在2004年发布的一套关键开发工具包,主要用于图形、音频和多媒体程序的开发。它对当时的游戏和多媒体产业产生了深远影响,为开发者提供了稳定且功能丰富的API接口。理解其核心组件和历史地位,有助于我们认识实时图形技…

作者头像 李华
网站建设 2026/8/7 19:18:55

AgentWeb混合开发终极指南:5步实现原生与Web无缝融合

AgentWeb混合开发终极指南:5步实现原生与Web无缝融合 【免费下载链接】AgentWeb AgentWeb is a powerful library based on Android WebView. 项目地址: https://gitcode.com/gh_mirrors/ag/AgentWeb 在移动应用开发中,WebView与原生组件的割裂感…

作者头像 李华
网站建设 2026/8/7 19:19:25

新手如何挖漏洞?看这一篇足够

新手如何挖漏洞?看这一篇足够 新手怎么用黑客技术去挖漏洞?看这一篇就够了。 首先,你得知道真实挖漏洞到底能拿多少钱。拿补天为例,这上面有上万家公司在公开悬赏漏洞,奖金从几十到几千块不等,挖出来的漏洞…

作者头像 李华