news 2026/7/7 19:33:08

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/7/7 7:05:39

触摸按键模块的工作原理、选择方法及常见问题探讨

对电子爱好者或工程师来说,触摸按键模块提供了一种无需机械按压、更加现代和可靠的交互方式。它通过检测人体电容的变化来工作,正在逐步替代许多产品中的传统机械按键。本文将从几个实用角度,探讨如何选择和使用这种模块。 触摸按键模块的工作…

作者头像 李华
网站建设 2026/7/7 14:54:45

LightGlue特征匹配技术:如何在5分钟内实现4倍速度提升

LightGlue特征匹配技术:如何在5分钟内实现4倍速度提升 【免费下载链接】LightGlue LightGlue: Local Feature Matching at Light Speed (ICCV 2023) 项目地址: https://gitcode.com/gh_mirrors/li/LightGlue 你是否曾为传统特征匹配算法的缓慢速度而苦恼&…

作者头像 李华
网站建设 2026/7/7 19:32:57

Xenia Canary终极指南:在PC上完美体验Xbox 360经典游戏

想要在现代电脑上重温《光环》、《战争机器》、《极限竞速》等Xbox 360经典游戏吗?Xenia Canary作为目前最先进的Xbox 360模拟器,通过精密的硬件仿真技术,让数百款经典游戏在PC平台重获新生。这款开源模拟器利用动态二进制翻译和即时编译技术…

作者头像 李华
网站建设 2026/7/7 8:03:02

PivotTable.js:让数据分析变得直观易懂的利器

在数据驱动的时代,如何快速从海量信息中提取有价值的内容成为关键挑战。PivotTable.js作为一个开源的JavaScript数据透视表库,通过直观的拖拽操作和灵活的视图切换,让数据分析变得简单而高效。 【免费下载链接】pivottable Open-source Javas…

作者头像 李华
网站建设 2026/7/7 15:49:33

36、Windows 应用商店开发与发布全解析

Windows 应用商店开发与发布全解析 1. 应用开发中的许可证模拟 在开发 Windows 8 风格应用时,我们可以模拟应用商店的许可证信息。以下是具体步骤: 1. 定位 OnNavigatedTo 方法,并在该方法末尾添加以下代码: //Subscribe to license changes licenseInfo.LicenseCha…

作者头像 李华