刷题——输出二叉树的右视图

输出二叉树的右视图_牛客题霸_牛客网

两个考点:

给出前序和后续遍历的二叉树,构建二叉树

二叉树构建后,输出右视图

class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 求二叉树的右视图* @param preOrder int整型vector 先序遍历* @param inOrder int整型vector 中序遍历* @return int整型vector*/
TreeNode* buildTree(vector<int>& xianxu, int l1, int r1, vector<int>& zhongxu, int l2, int r2)
{if(l1>r1 || l2 > r2) return NULL;TreeNode* root = new TreeNode(xianxu[l1]);int rootIndex = 0;for(int i = l2; i<=r2; i++){if(zhongxu[i] == xianxu[l1]){rootIndex = i;break;}}int leftsize = rootIndex - l2;int rightsize = r2 - rootIndex;root->left = buildTree(xianxu, l1 + 1, l1 + leftsize, zhongxu, l2, l2 + leftsize -1);root->right = buildTree(xianxu, r1 - rightsize +1, r1, zhongxu, rootIndex +1, r2);return root;
}vector<int> rightSideView(TreeNode* root)
{vector<int>ans;if(!root) return ans;queue<TreeNode*> q;q.push(root);while(!q.empty()){int cnt = q.size();for(int i= 0; i<cnt; i++){TreeNode* cur = q.front();q.pop();if(cur->left) q.push(cur->left);if(cur->right) q.push(cur->right);if(i == cnt -1)ans.push_back(cur->val);}}return ans;}vector<int>solve(vector<int>&xianxu, vector<int>& zhongxu)
{vector<int>res;if(xianxu.size() == 0) return res;TreeNode* root = buildTree(xianxu, 0, xianxu.size()-1,zhongxu,0,zhongxu.size()-1);return rightSideView(root);
}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/43273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp版即时通讯软件 IM社交交友聊天系统 语音视频通话双端APP 聊天交友APP源码 (含搭建教程)

修复音视频&#xff08;官方团队插件&#xff0c;无二次费用&#xff09;&#xff0c;文件发送&#xff0c;公告&#xff0c;签到&#xff0c;发现页&#xff0c;朋友圈删除&#xff0c;轮询客服&#xff0c;马甲等 可内嵌第三方网页连接&#xff0c;后台添加&#xff0c;带完…

从零开始做题:好怪哦

题目 给出一个压缩文件 解题 方法1 01Edit打开&#xff0c;发现是个反着的压缩包&#xff08;末尾倒着的PK头&#xff09; import os# 目标目录路径 # target_directory /home/ai001/alpaca-lora# 切换到目标目录 # os.chdir(target_directory)# 打印当前工作目录以确认…

MySQL之MySQL用户工具(二)

MySQL用户工具 SQL实用集 服务器本身也内置有一系列免费的附加组件和实用集可以使用;其中一些确实相当强大。 1.common_schema Shlomi Noach的common_schema享目是一套针对服务器脚本话和管理的强大的代码和视图。common_schema对于MySQL好比jQuery对于JavaScript.2.mysql-s…

1326:【例7.5】 取余运算(mod)

【题目描述】 输入b&#xff0c;p&#xff0c;kb&#xff0c;p&#xff0c;k的值&#xff0c;求bpmodkbpmodk的值。其中b&#xff0c;p&#xff0c;kkb&#xff0c;p&#xff0c;kk为长整型数。 【输入】 输入b&#xff0c;p&#xff0c;kb&#xff0c;p&#xff0c;k的值。 【…

如何使一个盒子水平垂直居中(常用的)

目录 1. 使用Flex布局 2. 使用Grid布局 3.绝对定位 负外边距 (必须知晓盒子的具体大小) 4.绝对定位外边距 auto 5.绝对定位 transform (无须知晓盒子的具体大小) 1. 使用Flex布局 如何实现&#xff1a; 在父元素上添加&#xff1a; display: flex; align-items: center…

如何监控和优化 PostgreSQL 中的连接池使用?

文章目录 一、连接池的基本概念二、监控 PostgreSQL 连接池使用的重要性&#xff08;一&#xff09;性能优化&#xff08;二&#xff09;资源管理&#xff08;三&#xff09;故障排查 三、PostgreSQL 连接池监控指标&#xff08;一&#xff09;活跃连接数&#xff08;二&#x…

代码随想录-DAY⑤-哈希表——leetcode 242 | 349 | 202

242 思路 先遍历字符串1&#xff0c; 记录每个字符的个数&#xff0c; 然后遍历字符串2&#xff0c; 挨个减去字符个数&#xff0c; 出现小于零的个数说明字符总数不重合。 时间复杂度&#xff1a;O(n) 空间复杂度&#xff1a;O(1) 代码 class Solution { public:bool isA…

适合宠物饮水机的光电传感器有哪些

如今&#xff0c;随着越来越多的人选择养宠物&#xff0c;宠物饮水机作为一种便捷的饮水解决方案日益受到欢迎。为了确保宠物随时能够获得足够的水源&#xff0c;宠物饮水机通常配备了先进的光电液位传感器技术。 光电液位传感器在宠物饮水机中起着关键作用&#xff0c;主要用…

C++初阶学习第一弹——入门学习C++

目录 1.什么是C 2.C关键字 3.命名空间 3.1命名空间的定义 3.2命名空间的使用 1、加命名空间名称及作用域限定符 2、使用 using 将命名空间中某个成员引入 3.使用using namespace 命名空间名称 引入 4.C输入&输出 5.缺省参数 5.1 缺省参数概念 5.2缺省参数分类 6. …

23.状态机设计——可乐机设计(2.5元1瓶可乐,有找零功能)

&#xff08;1&#xff09;Visio视图&#xff1a; &#xff08;2&#xff09;Verilog代码&#xff1a; module fsm_cola_plus(clk,reset_n,pi_money_one,pi_money_half,po_cola,po_money);input clk;input reset_n;input pi_money_one;input pi_money_half;output po_cola;out…

每天10个vue面试题(一)

1. Vue的基本原理&#xff1f; 当一个Vue实例创建时&#xff0c;Vue会遍历data中的属性&#xff0c;用Object.defineProperty&#xff08;vue3.0使用proxy &#xff09;将它们转为 getter/setter&#xff0c;并且在内部追踪相关依赖&#xff0c;在属性被访问和修改时通知变化。…

如何提问 如何回答

如何提问 如何回答 如何提出一个好问题 1、选择合适的平台或专家&#xff1a;选择合适的论坛&#xff0c;或者能够给你答案的地方或者人 2、清晰描述问题背景&#xff1a;描述问题的背景&#xff0c;清楚明确地表达你的问题以及需求&#xff0c;不需要加过多的语气助词&#…

为什么要学习Go?

目录 前言 一、Go 语言的发展史 Robert Griesemer Rob Pike Ken Thompson 二、Go语言全面分析 主要优势 主要挑战 三、Go 语言最佳实践 1. 云原生开发 2. 网络服务开发 3. 系统工具和实用程序 4. 数据处理和分析 四、哪些知名公司使用 Go 语言&#xff1f; Google …

vue详解

目录 ​编辑 常用指令 v-for v-bind v-if & v-show v-if v-show v-on v-model Vue生命周期 ​编辑 Axios Axios使用步骤 Axios-请求方式别名 Vue简单案例 常用指令 指令:HTML标签上带有 v-前缀的特殊属性&#xff0c;不同的指令具有不同的含义&#xff0c;可…

深入理解sklearn中的模型参数优化技术

参数优化是机器学习中的关键步骤&#xff0c;它直接影响模型的性能和泛化能力。在sklearn中&#xff0c;参数优化可以通过多种方式实现&#xff0c;包括网格搜索&#xff08;GridSearchCV&#xff09;、随机搜索&#xff08;RandomizedSearchCV&#xff09;和贝叶斯优化等。本文…

MATLAB基础应用精讲-【数模应用】分层聚类(附python代码实现)

目录 前言 知识储备 层次聚类 1. 算法解读: 2. 步骤和细节: 3. 举例: 4. 算法评价: 5. 算法的变体: 算法原理 基本思想 分层聚类网络的原理 分层聚类网络的优势 分层聚类网络的应用领域 SPSSAU 分层聚类案例 1、背景 2、理论 3、操作 4、SPSSAU输出结果…

DevEco Studio No device 无法识别 usb 设备 - 鸿蒙

DevEco Studio IDE 版本与手机系统版本升级后出现了 USB 连接设备后 IDE 无法识别 no device 的情况出现; 解决办法 首先,确定当前 DevEco Studio 的 IDE 版本与移动设备的大版本保持一致; 其次,在版本相互匹配的情况下,查看移动设备是否开启了开发者模式与 USB 调试,具体步骤…

生成requirements.txt

pip install pipreqs pipreqs ./ --encodingutf-8 --force python导出requirements.txt的几种方法总结

Sphinx 搜索配置

官方文档 http://sphinxsearch.com/docs/sphinx3.html 支持中文&#xff0c;英文&#xff0c;日文&#xff0c;韩文&#xff0c;俄罗斯语搜索 版本是 官网3.6.1版本 文件 sphinx.conf.dist 的windows 配置&#xff0c;官网下载下来后微微配置即可。 # Minimal Sphinx confi…

考研数学130+的强化复习规划(附暑假经验分享)

考研数学强化是最关键的提高阶段&#xff01; 有的同学强化阶段做的好&#xff0c;甚至能冲击到130这个分数&#xff01;所以&#xff0c;大家一定要重视考研数学强化&#xff0c;特别是暑期两个月的时间。 先说一下强化误区&#xff01; 很多同学基本上就是6月结束基础&…