广州高端品牌网站建设后台管理便捷怎么联系网站管理员

bicheng/2026/1/23 18:32:16/文章来源:
广州高端品牌网站建设后台管理便捷,怎么联系网站管理员,wordpress授权系统,公司网站建设方案书例文前言 二叉树层序遍历应用题目。 记录三十八 【二叉树的层次遍历应用一】 继续。 一、【107.二叉树的层次遍历 II】 题目 给你二叉树的根节点 root #xff0c;返回其节点值 自底向上的层序遍历 。 #xff08;即按从叶子节点所在层到根节点所在的层#xff0c;逐层从左向…前言 二叉树层序遍历应用题目。 记录三十八 【二叉树的层次遍历应用一】 继续。 一、【107.二叉树的层次遍历 II】 题目 给你二叉树的根节点 root 返回其节点值 自底向上的层序遍历 。 即按从叶子节点所在层到根节点所在的层逐层从左向右遍历 示例 1 输入root [3,9,20,null,null,15,7] 输出[[15,7],[9,20],[3]]示例 2 输入root [1] 输出[[1]]示例 3 输入root [] 输出[]提示 树中节点数目在范围 [0, 2000] 内 -1000 Node.val 1000思路 题目的意思是从底层逐步往上输出相当于【102.二叉树的层序遍历】 倒着输出。 那么reverse从上到下的结果加一句reverse(result.begin(),result.end()); 代码实现 /*** 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 { public:vectorvectorint levelOrderBottom(TreeNode* root) {vectorvectorint result;queueTreeNode* que;if(root ! nullptr) que.push(root);while(!que.empty()){int size que.size(); //在还没遍历这一层时先把这一层的元素个数记录下来。vectorint levelrecord;while(size--){ //边遍历边放入下一层元素。TreeNode* top que.front();que.pop();if(top-left) que.push(top-left);if(top-right) que.push(top-right);levelrecord.push_back(top-val);}result.push_back(levelrecord);}reverse(result.begin(),result.end()); //新增一行return result; } };二、【199.二叉树的右视图】 题目 给定一个二叉树的 根节点 root想象自己站在它的右侧按照从顶部到底部的顺序返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3]示例 3: 输入: [] 输出: []提示: 二叉树的节点个数的范围是 [0,100] -100 Node.val 100 思路 1如果只从示例1考虑右视图只看右孩子右孩子的右孩子……。这样如果右孩子为空左孩子的右孩子也在右视图的范围内。不合理。 2仍然遍历每一层的节点但是当该层的最后一个节点出去的时候放到result中。 代码实现 /*** 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 { public:vectorint rightSideView(TreeNode* root) {vectorint result;queueTreeNode* que;if(root ! nullptr) que.push(root);while(!que.empty()){int size que.size();while(size--){TreeNode* cur que.front();que.pop();if(cur-left) que.push(cur-left);if(cur-right) que.push(cur-right);if(size 0){result.push_back(cur-val);}}}return result;} };参考思路链接 思路一致不过参考代码用的循环时for而已。 三、【637.二叉树的层平均值】 题目 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1 输入root [3,9,20,null,null,15,7] 输出[3.00000,14.50000,11.00000] 解释第 0 层的平均值为 3,第 1 层的平均值为 14.5,第 2 层的平均值为 11 。 因此返回 [3, 14.5, 11] 。示例 2: 输入root [3,9,20,15,7] 输出[3.00000,14.50000,11.00000]提示 树中节点数量在 [1, 10^4] 范围内 -2^31 Node.val 2^31 - 1思路 每层遍历后sum求和除以size。所以不能用while(size- -)循环size会改变。改成for循环。 代码实现 /*** 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 { public:vectordouble averageOfLevels(TreeNode* root) {vectordouble result;queueTreeNode* que;if(root ! nullptr) que.push(root);while(!que.empty()){int size que.size();double sum 0;for(int i0;i size;i){TreeNode* cur que.front();que.pop();if(cur-left) que.push(cur-left);if(cur-right) que.push(cur-right);sum cur-val;}result.push_back(sum/size); //不能用size--while循环。不然此处的size发生改变。}return result;} };四、实现二叉树的结构 力扣题目输入root [3,9,20,null,null,15,7]代表构造一个二叉树。那么具体如何实现力扣不考察。 但是就给定输入vector string root [3,9,20,null,null,15,7]实现二叉树的构造这一函数练习一下。相当于ACM模式下创建二叉树 #include string #include vector #include iostream #include queue using namespace std; //定义节点结构 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) {}};//构造二叉树 TreeNode* createTree(vectorstring tree){queueTreeNode* que;if(tree.empty()) return nullptr;TreeNode* root new TreeNode(stoi(tree[0]));que.push(root);int i 0;while(!que.empty()){TreeNode* cur que.front();que.pop();//创建左孩子if((2*i1) tree.size() tree[2*i1] ! null){ TreeNode* leftchild new TreeNode(stoi(tree[2*i1]));que.push(leftchild);cur-left leftchild;}//创建右孩子if((2*i2) tree.size() tree[2*i2] ! null){TreeNode* rightchild new TreeNode(stoi(tree[2*i2]));que.push(rightchild);cur-right rightchild;}i; }return root; }//销毁二叉树用递归法练习递归走后序遍历的流程 void destoryTree(TreeNode* root){if(root nullptr){return;}destoryTree(root-left);destoryTree(root-right);delete root; }int main(){vectorstring tree {3,9,20,null,null,15,7};TreeNode* root createTree(tree);destoryTree(root);return 0; }总结 前三点利用层序遍历的模版使用队列结构遍历每层的练习题最后从0实现实现一个二叉树创建、销毁、定义。 欢迎指正转载标明出处

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

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

相关文章

天津 app开发公司seo快速工具

NC14732 锁 题意: n个居民,门上有k把锁,每个居民有若干钥匙,为1到k的一个子集,如果几名居民的钥匙的并集是1到k,即他们拥有全部锁的对应钥匙。 求最小的k,使得可以适当地给居民们每人若干钥匙…

保定建筑公司排名寻找郑州网站优化公司

webpack 1. 简介1.1 webpack 是什么1.2 webpack 五个核心概念1.2.1 入口 - Entry1.2.2 出口 - Output1.2.3 Loader1.2.4 插件 - Plugins1.2.6 模式 - Mode 2. webpack 初体验2.1 初始化配置2.1.1. 准备2.1.2. 写代码2.1.3 编译打包应用 3. webpack 开发环境的基本配置3.1 打包样…

wordpress做导航站北京的做网站公司

1.安装 说明&#xff1a;创建文件以后&#xff0c;按照提示进行操作。如cd文件夹&#xff0c;npm i ,npm run dev等操作。 npm create vitelatest 2.安装three npm i three.js 4.打开npm官网 说明:搜索three第三方库。按照案例进行操作。 5.修改App.vue文件 <script set…

云服务器网站搭建教程wordpress rss 插件

文章目录 题目&#xff1a;Griffin: Rethinking Sparse Optimization for Deep Learning Architectures时间&#xff1a;2022会议&#xff1a;HPCA研究机构&#xff1a;三星 本篇论文最大的贡献我认为是用统一的表示方法规范表示了各种稀疏计算的类型&#xff0c;并针对不同稀…

哪个设计网站赚钱天津建设工程信息网查询

目录 基于android的物业管理系统的设计与实现 3 摘 要 3 Android property managemengt system 5 Abstract 5 1 绪论 6 1.1 选题背景 6 1.2 课题研究现状 6 1.3 设计研究主要内容 7 1.4 系统主要设计思想 8 2 开发环境 8 2.1 Android系统的结构 8 图2-1 Android系统架构图 9 2…

做轻奢品的电商网站网站建设专家

工厂方法模式是一种创建型设计模式&#xff0c;它定义了一个用于创建对象的接口&#xff0c;但将实际的实例化过程延迟到子类中。这样&#xff0c;客户端代码在不同的子类中实例化具体对象&#xff0c;而不是直接实例化具体类。工厂方法模式允许一个类的实例化延迟到其子类&…

电子商务网站有哪些和网址wordpress $memcached_servers

百度地图的官方网址 官方批量转换的demo 花了几天时间了解了一下百度地图&#xff0c;之前是后端的一个小伙伴在负责&#xff0c;他跟我吐槽这是前端的东西&#xff0c;让我来写&#xff08;之前他们老大交给他了&#xff0c;我也以为是后端的任务(๑′ᴗ‵๑)。。&#xff09…

合肥网站推广外包公司用c 做的网站怎么打开吗

变频电源是将交流电经过交流-直流-交流变换&#xff0c;从而得到输出为正弦波的交流电&#xff0c;广泛应用于家电、电机、电脑设备、测试单位、航空等领域。变频电源测试是确保系统稳定运行的重要步骤。 变频电源测试的重要参数 1. 输出电压和电流 可用万用表、电流表或者示波…

郑州正规网站制作公司eclipse网站开发例子

.net core在新增的System.Buffers中引入了一大堆高效内存管理的类&#xff0c;如span和memory、内存池。本文今天这里介绍一个高效动态内存访问方案。ReadOnlySequenceSegment<T>在我们读取数据的过程&#xff0c;很多时候会出现如下场景&#xff1a;不知道数据实际大小一…

狮山网站设计怎么做商业网站模板

一、当前企业门户实施的背景和痛点 企业随着公司业务的发展&#xff0c;公司运作的复杂度在不断加大&#xff0c;各部门的业务量和业务的复杂度都在不断增加&#xff0c;已经建设了ERP、HR、OA、考勤、合同、BPM、PLM等有效地支撑了过去和现有业务的发展。 企业在信息化办公是…

佛山市品牌网站建设多少钱游戏排行榜前十名大型网络游戏

前言 免责声明&#xff1a;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 一、产…

创意设计英文翻译深圳免费网站优化网络推广

大家好。 今天&#xff0c;我将向您展示如何为Oracle ADF开发配置MySQL数据库。 恕我直言&#xff0c;当您将ADF与其他数据库而不是Oracle DB一起使用时&#xff0c;您将无法使用Oracle ADF的全部功能&#xff0c;有时您会发现自己正在寻找解决方法&#xff0c;以实现某些行为…

大兴网站建设推广界面设计图

最近在开发中&#xff0c;有返回list需要前端分页的&#xff0c;而且后续还需提交整个list&#xff0c;虽说前端分页并不难&#xff0c;但还有会有一些问题&#xff1a; 从图片代码就可以很清晰的看到前端分页&#xff0c;如何点击页数翻页的&#xff0c;很简单&#xff0c;但…

书法网站模版为什么学习wordpress

第一&#xff1a;给大家推荐一个爬虫的网课哈&#xff0c;码起来 第二&#xff1a;今夜主题&#xff1a;通过xpath爬取58二手房的title信息&#xff0c;也就是标红的位置~ 第三&#xff1a;先分析一波title所在的位置 打开按下f12打开抓包工具&#xff0c;即可看到网站的源码…

会员wordpress主题网站seo推广员招聘

设置读写锁为写入模式独占资源&#xff0c;其他写入请求需要等待本次写入结束之后才能继续写入注意&#xff1a;长时间持有读线程锁或写线程锁会使其他线程发生饥饿 (starve)。 为了得到最好的性能&#xff0c;需要考虑重新构造应用程序以将写访问的持续时间减少到最小。从性能…

龙岗免费的网站制作iis 编辑网站绑定

今天写这篇教程目的在于分享自己在WINDOWS主机下配置squid的方法。哪些地方写的不完善或是不完整或是需要修改的地方&#xff0c;大家可以提出。我会第一时间纠正。下面看正文部分。先提条件&#xff0c;您预安装配置squid的这台计算机必须是联入网络的&#xff0c;系统版本是w…

非凡网站建设北京代理网站备案电话

近期&#xff0c;CASAIM与大疆达成全自动化测量技术合作&#xff0c;CASAIM IS全自动化蓝光测量仪实现无人机叶片全尺寸检测及质量控制。 无人机行业在过去几年里取得了迅猛发展&#xff0c;大疆是全球领先的无人飞行器控制系统及无人机解决方案的研发商和生产商&#xff0c;客…

wordpress新闻类模板下载南京关键词优化软件

给定一种规律 pattern 和一个字符串 s &#xff0c;判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配&#xff0c;例如&#xff0c; pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。 示例1: 输入: pattern "abba", s "…

网站被k是什么表现做动态图片的网站

Java读取指定 JAR 包路径中的 git.properties 文件 在上述代码中&#xff0c;首先打开 JAR 文件&#xff0c;获取 git.properties 文件的 JarEntry 对象&#xff0c;如果存在该条目&#xff0c;就获取其输入流进行后续的读取和处理。具体的读取和处理逻辑需要根据您的实际需求在…

vue网站引导页怎么做ccie网络培训

文章目录 1.开发板介绍1.1相关资源&#xff1a;1.2接口布局1.3屏幕1.4核心板引脚可复用资源 2.环境搭建2.1安装依赖包2.2git配置2.3安装sdk2.4sdk介绍2.5sdk编译 3.镜像介绍 1.开发板介绍 开发板&#xff1a;atk-rk3568开发板 eMMC&#xff1a;64G LPDDR4&#xff1a;4G 显示屏…