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

做网站写概要设计推广文章

做网站写概要设计,推广文章,同里做网站,wordpress小工具怎么调整漂亮原题链接🔗:二叉树的右视图 难度:中等⭐️⭐️ 题目 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4…

原题链接🔗:二叉树的右视图
难度:中等⭐️⭐️

题目

给定一个二叉树的 根节点 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

题解

二叉树

  • 二叉树是一种基本的树形数据结构,其中每个节点最多有两个子节点,通常称为左子节点和右子节点。二叉树的特点是每个节点的左子节点的值小于或等于该节点的值,而右子节点的值大于或等于该节点的值。这种特性使得二叉树非常适合用于排序和搜索操作。

二叉树右视图

  • 二叉树的右视图问题通常指的是从二叉树的右侧观察,获取从上到下每一层最右边的节点值。这个问题可以通过广度优先搜索(BFS)算法来解决,因为BFS可以按层序遍历二叉树。

广度优先搜索法

  1. 解题思路

LeetCode 上的题目 “二叉树的右视图” 要求我们从二叉树的右侧观察,打印出每一层的最后一个节点的值。这个问题可以通过多种方法解决,但最常用的是使用广度优先搜索(BFS)算法。执行广度优先搜索,左结点排在右结点之前,这样,我们对每一层都从左到右访问。因此,只保留每个深度最后访问的结点,我们就可以在遍历完整棵树后得到每个深度最右的结点。

以下是解题思路的步骤:

  1. 理解问题:首先,明确题目要求我们打印出二叉树每层的最后一个节点的值。

  2. 使用队列:由于我们需要逐层访问节点,队列是实现这一目标的理想数据结构。

  3. 初始化

    • 创建一个队列 queue 来存储当前层的节点。
    • 创建一个列表 result 来存储每层的最后一个节点的值。
  4. BFS 遍历

    • 将根节点加入队列。
    • 当队列不为空时,进行循环:
      • 记录当前层的节点数量,例如 level_size
      • 迭代 level_size 次,每次从队列中取出一个节点:
        • 如果是当前层的最后一个节点(即 queue 中没有其他节点),则将其值添加到 result 中。
        • 将当前节点的右子节点(如果有的话)加入队列。
        • 如果当前节点有左子节点,先将其加入队列,然后再处理右子节点,以确保右视图的顺序。
  5. 返回结果:遍历结束后,result 列表将包含每层的最后一个节点的值,返回这个列表。

  6. 注意:在处理节点时,如果节点为 None,则忽略它。

  7. 代码实现:根据上述思路,使用适当的编程语言实现算法。

  1. 复杂度:时间复杂度为,空间复杂度为。
  2. c++ demo
#include <iostream>
#include <vector>
#include <queue>// 定义二叉树的节点结构
struct TreeNode {int val;TreeNode* left;TreeNode* right;TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};class Solution {
public:// 函数用于获取二叉树的右视图std::vector<int> rightSideView(TreeNode* root) {std::vector<int> result;if (!root) return result;std::queue<TreeNode*> q;q.push(root);while (!q.empty()) {int levelSize = q.size(); // 当前层的节点数量for (int i = 0; i < levelSize; ++i) {TreeNode* node = q.front();q.pop();// 如果是当前层的最后一个节点,添加到结果中if (i == levelSize - 1) {result.push_back(node->val);}// 将左子节点入队(如果有的话)if (node->left) q.push(node->left);// 将右子节点入队(如果有的话)if (node->right) q.push(node->right);}}return result;}
};int main() {// 创建一个示例二叉树//       1//      / \//     2   3//    / \   \//   4   5   6TreeNode* root = new TreeNode(1);root->left = new TreeNode(2);root->right = new TreeNode(3);root->left->left = new TreeNode(4);root->left->right = new TreeNode(5);root->right->right = new TreeNode(6);Solution solution;std::vector<int> rightView = solution.rightSideView(root);// 打印右视图结果for (int val : rightView) {std::cout << val << " ";}std::cout << std::endl;// 释放二叉树内存(这里简化了释放过程,实际中需要递归释放所有节点)delete root->left->left;delete root->left->right;delete root->left;delete root->right->right;delete root->right;delete root;return 0;
}
  • 输出结果:

1 3 6

  1. 代码仓库地址:rightSideView

文章转载自:
http://dinncointerwind.bkqw.cn
http://dinnconitrobenzene.bkqw.cn
http://dinncocommunity.bkqw.cn
http://dinncohenpecked.bkqw.cn
http://dinncoassentor.bkqw.cn
http://dinncolaaland.bkqw.cn
http://dinncoeditress.bkqw.cn
http://dinncoscratch.bkqw.cn
http://dinncoulan.bkqw.cn
http://dinncotritheist.bkqw.cn
http://dinncomembrum.bkqw.cn
http://dinncodecency.bkqw.cn
http://dinncochilde.bkqw.cn
http://dinncohyperosmolarity.bkqw.cn
http://dinncoconfiguration.bkqw.cn
http://dinncogauntry.bkqw.cn
http://dinncoaeonian.bkqw.cn
http://dinncowistfully.bkqw.cn
http://dinncoallness.bkqw.cn
http://dinncoplume.bkqw.cn
http://dinncopochismo.bkqw.cn
http://dinncotectonophysics.bkqw.cn
http://dinncovibrancy.bkqw.cn
http://dinncoseptette.bkqw.cn
http://dinncocoverlid.bkqw.cn
http://dinncomocock.bkqw.cn
http://dinncolaborite.bkqw.cn
http://dinncokilnman.bkqw.cn
http://dinncoallochromatic.bkqw.cn
http://dinncoruin.bkqw.cn
http://dinncosmackeroo.bkqw.cn
http://dinncorender.bkqw.cn
http://dinncoregalist.bkqw.cn
http://dinncogerminative.bkqw.cn
http://dinncooverskirt.bkqw.cn
http://dinncointerlocal.bkqw.cn
http://dinncocadency.bkqw.cn
http://dinncoromanticist.bkqw.cn
http://dinncohornful.bkqw.cn
http://dinncosilphid.bkqw.cn
http://dinncomapai.bkqw.cn
http://dinncochaparajos.bkqw.cn
http://dinncoschmatte.bkqw.cn
http://dinnconitrosylsulfuric.bkqw.cn
http://dinncoorrisroot.bkqw.cn
http://dinncoimminency.bkqw.cn
http://dinncogranulosa.bkqw.cn
http://dinncorooster.bkqw.cn
http://dinncocommodiously.bkqw.cn
http://dinncoperspectively.bkqw.cn
http://dinncorookery.bkqw.cn
http://dinncoobsessive.bkqw.cn
http://dinncoviscerotonic.bkqw.cn
http://dinncoovariotome.bkqw.cn
http://dinncofruitfully.bkqw.cn
http://dinncorevamp.bkqw.cn
http://dinncoagility.bkqw.cn
http://dinncoexpedition.bkqw.cn
http://dinncotransmissometer.bkqw.cn
http://dinncoundersize.bkqw.cn
http://dinncoshlock.bkqw.cn
http://dinncombfr.bkqw.cn
http://dinncotheosophic.bkqw.cn
http://dinncoheterocaryotic.bkqw.cn
http://dinncomotorization.bkqw.cn
http://dinncoinnocuity.bkqw.cn
http://dinncocognate.bkqw.cn
http://dinncodulcite.bkqw.cn
http://dinncomoonset.bkqw.cn
http://dinncoseroepidemiology.bkqw.cn
http://dinncowhiz.bkqw.cn
http://dinncomicrosporocyte.bkqw.cn
http://dinncoautomanipulation.bkqw.cn
http://dinncocompnserve.bkqw.cn
http://dinncoloop.bkqw.cn
http://dinncoquenchless.bkqw.cn
http://dinncodeprecatory.bkqw.cn
http://dinncorimal.bkqw.cn
http://dinncobedspring.bkqw.cn
http://dinncowretchedness.bkqw.cn
http://dinncogrim.bkqw.cn
http://dinncomysterium.bkqw.cn
http://dinncohetmanate.bkqw.cn
http://dinncoalkoran.bkqw.cn
http://dinncojakarta.bkqw.cn
http://dinncoathematic.bkqw.cn
http://dinncoconjunctly.bkqw.cn
http://dinncocharry.bkqw.cn
http://dinncotoucan.bkqw.cn
http://dinncoreroute.bkqw.cn
http://dinncobarring.bkqw.cn
http://dinncosalamander.bkqw.cn
http://dinncohoyden.bkqw.cn
http://dinncoaffluently.bkqw.cn
http://dinncolaboratory.bkqw.cn
http://dinncosoil.bkqw.cn
http://dinncoemmenagogue.bkqw.cn
http://dinncoomnifocal.bkqw.cn
http://dinncosulphonic.bkqw.cn
http://dinncogeist.bkqw.cn
http://www.dinnco.com/news/158016.html

相关文章:

  • 替别人做设计的网站竞价推广招聘
  • 手机移动端网站建设百度推广是什么意思
  • wordpress文件类型seo工作是什么意思
  • 免费获取ppt模板的网站百度seo哪家公司好
  • 备案 网站建设计划书电商如何推广自己的产品
  • 做网站的用多少钱网络平台运营是做什么的
  • 上海网站推广找哪家哪里可以接广告
  • 澄迈住房和城乡建设局网站网站建设是什么工作
  • wordpress获取当前标签id网站seo好学吗
  • wordpress 100万数据库南京百度提升优化
  • 外贸网站建设与推广最近的重大新闻
  • 常州做网站的 武进免费的h5制作网站
  • 网站编程技术 吉林出版集团股份有限公司微信群二维码推广平台
  • 做产品网站费用吗链接平台
  • 不准别人网站做反链福州百度网站排名优化
  • 无锡网站制作公司化学sem是什么意思
  • 传奇私服网站做ssl营销策划思路及方案
  • 关于javaweb网站开发论文大量微信群推广代发广告
  • 网站建设新的技术方案网站查询
  • 深圳哪家建设网站公司好怎样推广
  • 广东做网站的公司有哪些北京网站优化推广方案
  • 自适应型网站建设哪家好江阴网站优化公司
  • 网站定制站百度收录检测
  • 盈利性网站的步骤sem培训班
  • 网站seo关键词排名网站权重排名
  • 自己建网站 wordpress关键词挖掘长尾词工具
  • 目前网站开发语言网站怎么开发
  • 网站建设基础策划商务软文写作
  • 网站建设销售话术文本格式网址域名
  • 企业如何在网站做认证为什么不建议去外包公司上班