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

免费个人网站模板云南建设厅网站设计

免费个人网站模板,云南建设厅网站设计,如何创建一个网站,雪箭 wordpress 2.4主题下载一&#xff1a;题目 解释&#xff1a; ①&#xff1a;返回的是一个vector<vector<int>>类型的值&#xff0c;再结合实例可知&#xff0c;返回的是一个vector类型的对象&#xff0c;其每个元素都是一个vector<int>这样的整形数组&#xff0c;每个数组存储的是…

一:题目

解释:

①:返回的是一个vector<vector<int>>类型的值,再结合实例可知,返回的是一个vector类型的对象,其每个元素都是一个vector<int>这样的整形数组,每个数组存储的是该层的值

②:示例3中根节点为空 则直接返回vector<vector<int>>类型的对象即可

二:思路

①:核心思路
使用队列:
        队列用于按层存储节点,确保按层遍历。
        每次处理完一层后,队列中剩下的节点就是下一层的节点。

分层处理:
        通过记录当前层的节点数,确保每次只处理当前层的节点。


②:.实现步骤
初始化:
        如果根节点不为空,将其入队,并设置当前层的节点数Leve1Size = 1。

外层循环(按层遍历)∶
        当队列不为空时,继续遍历。
        创建一个数组v,用于存储当前层的节点值。

内层循环(处理当前层):
        遍历当前层的所有节点(由Leve1size控制次数)︰
                取出队头节点cur。
               将cur的值存入v。
                将cur的左右子节点(如果存在)入队。将cur出队。


更新层信息:
         处理完当前层后,更新(LevelSize为队列的当前大小(即下一层的节点数)。
         将当前层的节点值数组√存入结果vv。


返回结果:
        最终返回存储所有层节点值的二维数组vv。

三:代码

/*** 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:vector<vector<int>> levelOrder(TreeNode* root) {vector<vector<int>> vv; // 存储最终结果queue<TreeNode*> q;     // 辅助队列,用于层序遍历int LevelSize = 0;      // 当前层的节点数if (root != nullptr) { // 如果根节点不为空q.push(root);      // 将根节点入队LevelSize = 1;     // 当前层节点数为 1}while (!q.empty())                 // 当队列不为空时,继续遍历{vector<int> v;                  // 存储当前层的节点值while (LevelSize--)            // 遍历当前层的所有节点{TreeNode* cur = q.front();  // 取出队头节点if (cur->left != nullptr)  // 如果左子节点不为空{q.push(cur->left);      // 将左子节点入队}if (cur->right != nullptr)  // 如果右子节点不为空{q.push(cur->right);      // 将右子节点入队}v.push_back(cur->val); // 将当前节点的值存入当前层的数组q.pop();               // 当前节点处理完毕,出队}LevelSize = q.size(); // 更新下一层的节点数vv.push_back(v);      // 将当前层的节点值数组存入结果}return vv; // 返回最终结果}
};

四:易错点

错误1:忘记刷新v

解释:

vector<int> v;这句代码不能放在while的外面,我们放在两个while夹层中是因为,每次v存储完一层节点的值,将v放进vv后,则会创建一个新的v;所以这里的错误在于v没有被重新建立,此时需要在将v放进vv后,进行 v.clear();操作即可

错误1修正:

错误2:所有节点放进一个数组

解释:

不能单纯的以为用LevelSize是否>0来判断循环,因为你出一个LevelSize--,进一个LevelSize++,最后只会把所有节点的值存储进一个数组中,而不是每一层单独在一个数组中,由错误的输出结果也可知,vv中仅仅存放了一个数组

错误2,是思路的错误,无法修改


文章转载自:

http://Y2bVOkb5.nnqjc.cn
http://VwBDMkNn.nnqjc.cn
http://f5ZCEeUX.nnqjc.cn
http://wZIy1B4y.nnqjc.cn
http://qihNw771.nnqjc.cn
http://DU7nSiTd.nnqjc.cn
http://1GnDdIYz.nnqjc.cn
http://w1vutPiH.nnqjc.cn
http://VVmhQ7u4.nnqjc.cn
http://andhtiQl.nnqjc.cn
http://yZ2Tyndz.nnqjc.cn
http://Qmu5M4Nw.nnqjc.cn
http://1YMxNevw.nnqjc.cn
http://kqJUdVk4.nnqjc.cn
http://3GuqVI4v.nnqjc.cn
http://c9LcKoOf.nnqjc.cn
http://8o8n41oc.nnqjc.cn
http://DyVogNlP.nnqjc.cn
http://yRjzYZfl.nnqjc.cn
http://2wEble6u.nnqjc.cn
http://2krTdkao.nnqjc.cn
http://THLtsDRT.nnqjc.cn
http://xs3jClSR.nnqjc.cn
http://nnX1aMQy.nnqjc.cn
http://Gk9y5fGr.nnqjc.cn
http://jjB9bvTl.nnqjc.cn
http://ZovkJaSI.nnqjc.cn
http://NvFOtBCU.nnqjc.cn
http://Zx1QniDJ.nnqjc.cn
http://KWb3hQ0Y.nnqjc.cn
http://www.dtcms.com/wzjs/675736.html

相关文章:

  • 网站建设 单一来源表单标签wordpress
  • 网站都需要什么类别文献综述 php网站开发
  • 找设计公司上哪个网站静态网站怎么优化
  • 农副产品销售网站开发电脑版网页版登录入口
  • 介休城乡建设网站wordpress注册页模板
  • 山东淄博网站建设公司wordpress lovevideo
  • 养生网站建设免费做网站哪种语言好
  • 获取网站开发语言手表网
  • 官方建网站哪个好制作企业网站与app有什么不同
  • 河南建设建设监理协会网站摄影作品网站源码
  • 广安网站开发快速网站建设
  • 做购物网站的素材超市管理系统
  • 怎么创建网站挣钱百度云虚拟主机如何建设网站
  • 黄石网站建设多少钱昆明官网seo诊断
  • 用手机做诱导网站课题网站建设验收总结报告
  • 做物流网站找哪家好重庆网站seo搜索引擎优化
  • 如何介绍一个网站的促销功能百度统计登录
  • 建设银行网站 查余额查询河南网站建设费用
  • 连云港建设局电力网站百度关键词模拟点击软件
  • 介绍网站ppt该怎么做云主机搭建wordpress
  • 多导航织梦网站模板下载地址长沙网站设计公司排名
  • 建设网站及域名费用京山网站开发
  • 网站做彩票犯法吗网站建设及优化心得体会
  • 微网站分销下载爱南宁乘车
  • 做网站用什么语言开发wordpress首页按钮
  • 凡科网站建设怎么样腾讯云加wordpress教程
  • 昆明智能网站推广价格wordpress插件微信
  • 生鲜网站建设背景seo外包公司哪家专业
  • 网站建设与维护经营范围口碑好的番禺网站建设
  • 程序员做游戏还是做网站好共享办公室 设计