当前位置: 首页 > news >正文

199.二叉树的右视图(DFS)

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

示例 1:

在这里插入图片描述

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

示例 2:

输入: [1,null,3]
输出: [1,3]

示例 3:

输入: []
输出: []

解题思路

本文使用dfs思想,先递归右子树,再递归左子树,当某个深度首次到达时,对应的节点就在右视图中。

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {vector<int> re;void dfs(TreeNode* node,int deep){if(!node){return;}if(deep==re.size()){re.push_back(node->val);}dfs(node->right,deep+1);dfs(node->left,deep+1);}public:vector<int> rightSideView(TreeNode* root) {dfs(root,0);return re;}
};

相关文章:

199.二叉树的右视图(DFS)

给定一个二叉树的根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3] 示例 3: 输入: [] 输出: [] 解题…...

机器学习基础入门(1)

最近也在努力的想要学习些机器学习的知识&#xff0c;目前正在了解各个概念及术语&#xff0c;下面就把学习到的概念都列出来。 人工智能 (AI) Artificial intelligence 人工智能生成内容&#xff08;AIGC&#xff09; 机器学习&#xff08;ML&#xff09; Machine Learning …...

mybatis的xml中,where标签不自动删除多余的and之类的问题

遇到了这个莫名其妙的问题&#xff0c;起初是很疑惑的&#xff0c;where标签好像失灵了一般不会自动删除掉 多余的and 看了眼sql语句&#xff0c;发现还是有and没被删除。 后来重新写了遍后发现又没事了。真的是神人。 然后就研究了好一会&#xff0c;发现&#xff01;&#…...

RK3588 编译opencvopencv_contrib记录

RK3588 编译opencv&opencv_contrib记录 1. 下载文件1.1 opencv源码1.2 安装cmake 2.开始编译2.1 提示缺少boostdesc_bgm.i 等问题2.2 提示缺少某hpp头文件2.3 其它问题 3. 设置环境变量4. 测试5.参考 1. 下载文件 1.1 opencv源码 需要opencv和opencv-contrib的版本号保持…...

Eureka: 微服务架构中的服务发现与注册实践

Eureka介绍与使用教程 你好&#xff0c;我是悦创。 Eureka 是 Netflix 开发的一款服务发现&#xff08;Service Discovery&#xff09;工具&#xff0c;它主要用于云中基于微服务架构的应用程序。Eureka使服务实例能够动态地注册自己&#xff0c;而其他服务实例可以通过 Eure…...

8、添加第三方包

目录 1、安装Django Debug Toolbar Django的一个优势就是有丰富的第三方包生态系统。这些由社区开发的包&#xff0c;可以用来快速扩展应用程序的功能集 1、安装Django Debug Toolbar Django Debug Toolbar位于名列前三的第三方包之一 这是一个用于调试Debug Web应用程序的有…...

【算法】算法模板

算法模板 文章目录 算法模板简介数组字符串列表数学树图动态规划 简介 博主在LeetCode网站中学习算法的过程中使用到并总结的算法模板&#xff0c;在算法方面算是刚过初学者阶段&#xff0c;竞赛分数仅2000。 为了节省读者的宝贵时间&#xff0c;部分基础的算法与模板未列出。…...

特征工程方法总结

方法有以下这些 首先看数据有没有重复值、缺失值情况 离散&#xff1a;独热 连续变量&#xff1a;离散化&#xff08;也成为分箱&#xff09; 作用&#xff1a;1.消除异常值影响 2.引入非线性因素&#xff0c;提升模型表现能力 3.缺点是会损失一些信息 怎么分&#xff1a;…...

Unity | AssetBundle

1 定义 Unity中的一种特殊资源包格式&#xff0c;用于存储和分发游戏资源。这些资源可以包括模型、纹理、音频文件、预制体、场景等。 AssetBundle允许开发者在游戏运行时动态加载和卸载资源&#xff0c;从而实现灵活的资源管理。 2 使用场景 1、资源管理 有效管理游戏中的资…...

【虚幻引擎】C++网络通信TCP和HTTP实战开发全流程,以接入科大讯飞星火大模型和文心一言千帆大模型为案例讲解

本套课程介绍了使用我们的虚幻C去写开发我们的插件开发&#xff0c;如何使用我们的虚幻C 封装我们的TCP和HTTP&#xff0c;如何使用的我们虚幻C子系统&#xff0c;如何根据第三方文档去写接口请求&#xff0c;如何通过我们的加密算法去签名我们的URL&#xff0c;如何声明我们的…...

.NET单元测试使用AutoFixture按需填充的方法总结

AutoFixture是一个.NET库&#xff0c;旨在简化单元测试中的数据设置过程。通过自动生成测试数据&#xff0c;它帮助开发者减少测试代码的编写量&#xff0c;使得单元测试更加简洁、易读和易维护。AutoFixture可以用于任何.NET测试框架&#xff0c;如xUnit、NUnit或MSTest。 默…...

求职学习day5

安排明天hr面 投一下平安可能。 hr面准备&#xff0c;复习java核心技术&#xff0c;复习java项目。 正视自己&#xff0c;调整心态。 也是很早接触了javaguide但是没有持续学习&#xff0c;项目介绍 | JavaGuide&#xff0c;面试前复习一下感觉还是很有收获的。 还有一些…...

微服务常用的中间件有哪些?都有什么用途?

前言 最近整理一下我们的项目使用了哪些中间件&#xff0c;借此机会也来分享一下&#xff0c;在微服务架构中我们常用的那些中间件&#xff0c;都有什么作用&#xff0c;为什么要使用中间件。 消息中间件-RocketMQ 比如RocketMQ&#xff0c;RocketMQ 是一个开源的分布式消息…...

华为云认证

华为云认证 首页 云原生 DevOps工作级开发者认证&#xff1a;HCCDP – Cloud Native DevOps 对云上敏捷开发感兴趣的人员&#xff0c;培训DevOps的理论知识及在云端交付软件全生命周期的实操能力。 DevOps...

【Linux学习】常用基本指令

&#x1f525;个人主页&#xff1a; Forcible Bug Maker &#x1f525;专栏&#xff1a;Linux学习 目录 &#x1f308;前言&#x1f525;XShell的一些使用查看Linux主机IP使用XShell登录主机XShell下的复制粘贴 &#x1f525;Linux下常用基本指令ls指令pwd指令cd指定touch指令…...

windows上安装Apache

安装前须知&#xff1a; 下载并安装&#xff0c;如未完成&#xff0c;请访问下载页面。安装Apache前需要安装Visual C Redistributable for Visual Studio 2015-2022 x64。 解压与配置&#xff1a; 将Apache24文件夹解压至C:\Apache24&#xff08;这是配置中的ServerRoot&am…...

wps office 2019 Pro Plus 集成序列号Vba安装版教程

前言 wps office 2019专业增强版含无云版是一款非常方便的办公软件&#xff0c;我们在日常的工作中总会碰到需要使用WPS的时候&#xff0c;它能为我们提供更好的文档编写帮助我们更好的去阅读PDF等多种格式的文档&#xff0c;使用起来非常的快捷方便。使用某银行专业增强版制作…...

院内影像一体化平台PACS源码,C#语言的PACS/RIS系统,二级医院应用案例

全院级PACS系统源码&#xff0c;一体化应用系统整合&#xff0c;满足放射、超声、内窥镜中心、病理、检验等多个科室的工作流程和需求&#xff0c;为不同科室提供专业的解决方案&#xff0c;实现了全院乃至区域内信息互联互通、数据统一存储与管理等功能&#xff0c;做到以病人…...

基于java的设计模式学习

PS &#xff1a;以作者的亲身来看&#xff0c;这东西对于初学者来说有用但不多&#xff0c;这些东西&#xff0c;更像一种经验的总结&#xff0c;在平时开发当中一般是用不到的&#xff0c;因此站在这个角度上用处不大。 1.工厂模式 1.1 简单工厂模式 我们把new 对象逻辑封装…...

组合数学+费用背包+刷表,G2 - Playlist for Polycarp (hard version)

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 G2 - Playlist for Polycarp (hard version) 二、解题报告 1、思路分析 一…...

OpenClaw成本控制:GLM-4.7-Flash任务执行的Token消耗优化策略

OpenClaw成本控制&#xff1a;GLM-4.7-Flash任务执行的Token消耗优化策略 1. 为什么需要关注OpenClaw的Token消耗&#xff1f; 第一次用OpenClaw完成整夜的数据整理任务后&#xff0c;我收到了账单提醒——单次任务消耗了超过18万Token。这个数字让我意识到&#xff0c;如果不…...

用雪花算法就不会产生重复的ID?

今天想和大家聊聊分布式系统中常用的雪花算法&#xff08;Snowflake&#xff09;——这个看似完美的ID生成方案&#xff0c;实际上暗藏玄机。有些小伙伴在工作中一提到分布式ID&#xff0c;第一个想到的就是雪花算法。确实&#xff0c;它简单、高效、趋势递增&#xff0c;但你知…...

Cadence OrCAD 16.6自带库文件大盘点:从Amplifier到Transistor,新手别再用错库了!

Cadence OrCAD 16.6自带库文件深度解析&#xff1a;从分类逻辑到实战避坑指南 刚接触OrCAD的新手工程师们&#xff0c;打开软件后面对几十个后缀为.olb的库文件时&#xff0c;往往会有种站在图书馆却找不到书的茫然感。每个库文件名称看似直白&#xff0c;但当你真正需要找一个…...

NE555定时器电路设计:从LED闪烁到电机调速的5个实用项目

NE555定时器电路设计&#xff1a;从LED闪烁到电机调速的5个实用项目 在电子设计的世界里&#xff0c;NE555就像是一把瑞士军刀——小巧、多功能且无处不在。这款诞生于1971年的定时器芯片&#xff0c;至今仍然是电子爱好者和工程师们的最爱。它价格低廉、使用简单&#xff0c;却…...

OpenCode终极指南:开源AI编程助手如何重塑你的开发体验

OpenCode终极指南&#xff1a;开源AI编程助手如何重塑你的开发体验 【免费下载链接】opencode 一个专为终端打造的开源AI编程助手&#xff0c;模型灵活可选&#xff0c;可远程驱动。 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 你是否厌倦了在多个A…...

Pixel Fashion Atelier应用场景:高校数字媒体专业像素艺术教学辅助工具

Pixel Fashion Atelier应用场景&#xff1a;高校数字媒体专业像素艺术教学辅助工具 1. 教学痛点与解决方案 在高校数字媒体专业的像素艺术教学中&#xff0c;传统教学方式面临几个核心挑战&#xff1a; 创作效率低&#xff1a;学生需要从零开始绘制像素画&#xff0c;耗时耗…...

智能告警管理平台如何帮助运维团队减少75%告警噪音:Keep AIOps平台实践指南

智能告警管理平台如何帮助运维团队减少75%告警噪音&#xff1a;Keep AIOps平台实践指南 【免费下载链接】keep The open-source alerts management and automation platform 项目地址: https://gitcode.com/GitHub_Trending/kee/keep 在现代IT环境中&#xff0c;运维团队…...

Nacos 服务注册为什么默认是临时实例?

做 Spring Cloud 开发的同学&#xff0c;对 Nacos 肯定不陌生。大家平常写代码&#xff0c;配置文件里只要配好 Nacos 地址&#xff0c;程序一启动&#xff0c;服务就自动注册上去了。但不知道大家有没有留意过一个细节&#xff1a;当你把服务停掉&#xff0c;或者直接 Kill 进…...

终极Omnipay快速入门指南:5分钟实现你的第一个支付功能

终极Omnipay快速入门指南&#xff1a;5分钟实现你的第一个支付功能 【免费下载链接】omnipay 项目地址: https://gitcode.com/gh_mirrors/omni/omnipay Omnipay是一款强大的PHP支付处理库&#xff0c;它提供了统一的API接口&#xff0c;让开发者能够轻松集成各种支付网…...

AI元人文:岐金兰再次致敬黄玉顺教授

岐金兰说&#xff1a;黄玉顺教授一定是在说&#xff0c;我已经指出了&#xff0c;不必多说。不过&#xff0c;岐金兰为了智能时代的多元叙事性权衡&#xff0c;必须多说一句&#xff0c;指出伦理中间件&#xff0c;之后呢&#xff0c;不必多说了。---一、生活儒学的洞见与沉默黄…...