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

网站建设制作模板网站怎么做宁波网站推广公司报价

网站建设制作模板网站怎么做,宁波网站推广公司报价,济南中桥信息做的小语种网站怎么样,wordpress 重置主题背景简介 在 LeetCode 的经典题目 「二叉树的右视图」 中,我们需要返回从右侧看一棵二叉树时所能看到的节点集合。每一层我们只能看到最右边的那个节点。 最初,我采用了一个常规思路:层序遍历 每层单独保存节点值 最后提取每层最后一个节…

背景简介

在 LeetCode 的经典题目 「二叉树的右视图」 中,我们需要返回从右侧看一棵二叉树时所能看到的节点集合。每一层我们只能看到最右边的那个节点。

最初,我采用了一个常规思路:层序遍历 + 每层单独保存节点值 + 最后提取每层最后一个节点。但在逐步分析中,我发现这一过程可以进一步优化,减少中间变量的使用,提高代码简洁度和可读性。


初始版本思路(注释中的方式)

下面是我最初的设计思路片段:

while(!que.empty()){int size = que.size();vector<int> vec; // 用于存储当前层所有节点的值for(int i = 0; i < size; i++){TreeNode* node = que.front();que.pop();vec.push_back(node -> val); // 保存该节点值if(node -> left) que.push(node -> left);if(node -> right) que.push(node -> right);}res.push_back(vec[size - 1]); // 每层最后一个加入结果
}

✅ 优点:

  • 清晰直观
  • 完全符合“层序遍历 + 每层最后一个”这一概念

❌ 缺点:

  • 使用了额外的 vector<int> vec 存储每层节点值,造成 冗余
  • 实际我们并不需要保留整层的所有值,只关心最后一个

优化思路

我们只需要每层的最后一个节点值,那么在遍历这一层时,只需判断当前访问的是不是“最后一个节点”。如果是,就将其值加入结果集即可,无需保留整层节点值。

于是我们这样优化:

while(!que.empty()){int size = que.size();for(int i = 0; i < size; i++){TreeNode* node = que.front();que.pop();// 只记录这一层的最后一个节点if(i == size - 1) res.push_back(node -> val);if(node -> left) que.push(node -> left);if(node -> right) que.push(node -> right);}
}

最终代码(优化后)

class Solution {
public:vector<int> rightSideView(TreeNode* root) {vector<int> res;queue<TreeNode*> que;if(root) que.push(root);while(!que.empty()){int size = que.size();for(int i = 0; i < size; i++){TreeNode* node = que.front();que.pop();if(i == size - 1) res.push_back(node -> val);if(node -> left) que.push(node -> left);if(node -> right) que.push(node -> right);}}return res;}
};

总结感悟

这次的优化过程,让我意识到:

  • 在写树的层序遍历时,可以根据最终需求精简逻辑,避免中间冗余变量;
  • if(i == size - 1) 是提取“最后一个节点”的一个技巧写法
  • 小优化虽不影响时间复杂度,但能提升代码的风格统一性、清晰度和执行效率

延伸思考

这种写法和风格也适用于以下类似题目:

  • 二叉树的左视图(i == 0
  • 每层最大值(可扩展为取每层最大而非最后一个)
  • 分层打印(保留每层节点)
  • 广度优先路径模拟(如迷宫路径、AI寻路)
http://www.dtcms.com/wzjs/73655.html

相关文章:

  • 网站开发流程知乎南昌网站优化公司
  • 口红机网站怎么做的公司业务推广
  • 东莞做网站公司首选seo外包是什么意思
  • 做产品推广哪个网站好目前搜索引擎排名
  • wordpress判断手机版宁波关键词优化平台
  • 东莞整站优化建站平台如何隐藏技术支持
  • wordpress婚纱摄影主题提升网页优化排名
  • 企业网站模板源码免费天津疫情最新情况
  • 淘客网站怎么建立今日全国疫情一览表
  • 站长工具里查看的网站描述和关键词都不显示石家庄限号
  • 苏州网站seo服务上海企业seo
  • 试用网站 建站西安百度seo代理
  • wordpress 卡通插件站长之家seo综合查询
  • 求网站建设详细过程搜索引擎优化的英文
  • 建设境外网站aso网站
  • 网络广告的特点逆冬seo
  • 网站建设公司营业执照图片痘痘该怎么去除效果好
  • 免费创建手机网站网络营销策略理论
  • 怎样自己免费搭建网站营业推广的概念
  • 百度运营培训班seo是什么平台
  • 天津高端网站建设全网投放广告的渠道有哪些
  • 尚品本色木门网站是哪个公司做的百度最新秒收录方法2023
  • 眼科医院网站做竞价带来的询盘量淘宝权重查询入口
  • 免费制作网页东莞seo建站优化哪里好
  • 深圳宝安做网站的公司市场营销一般在哪上班
  • 百度的推广广告站长工具seo综合查询 分析
  • 网站企业建设方案电商平台哪个最好最可靠
  • 广州市财贸建设开发监理网站在线识别图片来源
  • 网站制作销售术语seo优化教程培训
  • 西安信息网站建设网络优化seo