范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

广度优先搜索BFS(二)

  题目102.二叉树的层次遍历
  题意:输入一棵二叉树,需要将树的每一层从左到右存入到vector中,然后每一次按照树的顺序从上往下排。
  思路:可以使用BFS来进行遍历整棵二叉树,BFS遍历刚好是从左到右,从上到下一层层往下遍历;可以记录每一层的个数,等遍历完一层后再记录下一层的个数。
  使用题目上的例子为例:
  创建一个队列和vector>容器,变量nCount代表当前层的个数。
  先将根节点放入队列,根节点当前层数是nCount=1;将根节点3出队列,遍历3的左右子节点,都不为空,加进队列,将3也放入vector容器;判断nCount是否等于0,如果是0,就证明当前层已经遍历完,将nCount更新为队列里节点的个数nCount=2,为下一层节点的个数,vector容器创建新的,存储下一层的数据;
  节点9出队列,遍历节点9的左右子节点,都为空,nCount=1,vector存储9;节点20出队列,左右节点都不为空,进入队列,nCount=0,vector存储20;nCount为0,将nCount赋值为队列的节点个数,vector容器创建新的;
  节点15出队列,左右节点为空,nCount=1,vector存储15;节点7出队列,左右节点为空,nCount=0,vecto存储7;
  以上所示就完成二叉树层的遍历。
  代码: class Solution { public:     vector> levelOrder(TreeNode* root) {         vector< vector > vResult;         queue q;         q.push(root);         int nCount = 1;         vector vLayer;         while(!q.empty()) {             TreeNode* curnode = q.front();             q.pop();             nCount--;              if(curnode != nullptr) {                 vLayer.push_back(curnode->val);                 q.push(curnode->left);                 q.push(curnode->right);             }             if(nCount == 0) {                 if(vLayer.size() != 0) {                     vResult.push_back(vLayer);                 }                 vLayer.clear();                 nCount = q.size();             }         }         return vResult;     } };
  题目117.填充每个节点的下一个右侧节点指针||
  题意:给定一棵二叉树,每个节点有左右子节点还有一个next指向的节点,其中next指针指向当前节点右边的节点,如果当前右边没有节点就指向NULL。
  思路:其实思路跟上一题差不多,也是使用BFS遍历整棵二叉树,每一层遍历,子节点进入队列的顺序是左子节点先入,后入右子节点,这样就可以节点出队列,节点next指针就直接指向队列的下一个节点,每当当前层遍历完就指向NULL。
  使用题目的例子为例
  创建一个队列和变量nCount,队列用来存储遍历的节点,nCount来记录当前层的节点数。
  先将根节点1加进队列,nCount=1,代表当前层只有一个节点;根节点1出队列,遍历左右子节点,都不为空,将左子节点2进入队列,右子节点3进入队,nCount=0;当nCount=0代表当前层已经遍历完,节点1的next指针指向NULL,nCount赋值为队列节点的个数,nCount=2,下一层节点数;
  节点2出队列,遍历左右子节点,不为空,节点4进入队列,节点5进入队列,nCount=1;nCount不为0,说明队列头节点是当前节点的右侧节点,当前节点next指针指向队列头节点3;节点3出队列,右节点7不为空,进入队列,nCount=0;nCount为0,当前层遍历完,nCount赋值为队列节点个数,nCount=3,当前节点3的next指针指向NULL;
  接下的流程跟上述一样,节点出队列,判断nCount是否为0,如果不是0,当前节点的next指向队列头节点,如果是0,当前节点的next指向NULL,当前层遍历完,nCount赋值队列节点个数,直到队列为空。
  代码: class Solution { public:     Node* connect(Node* root) {         if(root == nullptr) {             return nullptr;         }         queue q;         q.push(root);         int nCount = q.size();         while(!q.empty()) {             Node* top = q.front();             q.pop();             nCount--;             if(top->left != nullptr) {                 q.push(top->left);             }             if(top->right != nullptr) {                 q.push(top->right);             }             if(nCount > 0) {                 Node *next = q.front();                 top->next = next;             }             else {                 top->next = nullptr;                 nCount = q.size();             }         }         return root;     } };

南京老下关的味道,都在热河南路头号有新人记忆的潆洄往往会从味觉先开始。食物与地点在脑海中交叉锁定的,是一个人对于过往经历的具象认知。就像对于老下关人来说,提起热河二字,最先想起的或许未必是早已消失的北方省份,甚画作文我的动物朋友王如萱可爱的小白兔(二十九)传统节气DONGZHI冬至寒意浓陪伴过暖冬一年一冬至,一岁一安康!冬至大如年,我们家今天小团圆,为爱洗手做汤羹,我包饺子,炖排骨,因为我们可爱的小王子回来了!愿大家生活温暖相伴,冬苏轼,一篇月下游记入选初中教材,读完明白,人为什么需要朋友头条创作挑战赛有没有一次相逢,让你引为知己?有一句话说,人生不如意十之八九,可与人言者,无二三。有些事,与外人讲,不但得不到理解,更可能被笑话。有些事,一旦被某些人知道,不仅无事无乔羽你也会爱上青岛中国不能缺了青岛,因为这里的一切实在太好。山会让你感到自己的巍峨,海会让你感到自己的浩淼。也曾有人很想把它据为己有,到头来他们什么也没有得到。而今它在伟大祖国的怀抱里,人们正把它作树洞讨论女孩子想要的安全感嗨这里是微梦小院,会分享关于个人成长情感心事等温暖治愈内容,累了乏了可以来这瞧瞧。希望与你,在这里,彼此成全,相伴成长。文北望图网络匿名你好,我实在是憋不住这样一个困惑,想找你说说病毒肆虐,怎么保护好孩子不被感染?头号有新人睡前刷了一会儿抖音,睡意全无了一会儿时间就刷到了好多幼小的孩子,有的刚出生几天,有的出生两三个月七八个月,有的烧的浑身通红,有的烧的只会呻吟,看到这些,不禁想起4年前我家一个人独自带二个孩子你们是怎么熬过来的妈妈们还在羡慕双胞胎吗?今天我要讲一个大实话双胞胎太不好带了!虽然我们家有两个女生,但是吵起来也不像男生那么省心。姐姐一岁的时候我就自己带了。谁知道这个过程的味道因为是两个一样大的黄桃罐头也能自制!这个小食谱,让您享受美食不怕糖高最近,黄桃罐头因为被广大网友赋予桃过疫劫的含义而爆红网络。但是,由于黄桃罐头含糖量过高,不少有控糖需求的朋友眼馋却不敢吃。事实上,我们在家也可以自制黄桃罐头,放多少糖,您说了算黄桃正确看待死亡人类漫长的历史长河中,死亡总给人一种神秘的无解的的面纱,笼罩在人们的内心中,时而恐惧,时而变幻莫测,我们面对死亡越来越多的疑问,我们也心存疑惑,如何界定死亡,如何逆转死亡,甚至如何这个宝藏爷爷走红网络,家有萌宝,搞定隔代育儿冲突对于老人来说,含饴弄孙是他们晚年生活的乐趣同样,有老人帮衬着,小夫妻的压力也会大大缓解。不过,对于老人带孩子,反对的声音挺多,甚至有人列举了老人带大的孩子有几大弊病容易骄纵自理能力儿童体能机构销售顾问话术20个关键问答1中国儿童运动现状21。3的日本儿童每天锻炼的时间可以超过三小时,然而达到这个水平的中国孩子只有1。3,甚至有57中国儿童每天锻炼的时间是零。当日本孩子在做赤足训练,参加体能训练营
江苏镭明新材料科技有限公司到汝南县洽谈投资合作事宜驻马店网讯(记者邓丹华通讯员罗亚东)4月6日上午,江苏镭明新材料科技有限公司总经理马榕彬一行到汝南县洽谈投资合作事宜,并召开座谈会。该县县委书记李卫明出席会议并讲话,县委副书记县长江苏睢宁整合冷库资源打造冷链标杆示范区中新网江苏新闻4月6日电(朱志庚)当前,江苏睢宁县正全力加快推进仓储保鲜冷链物流资源整合,打造全流程一体化冷链物流体系,做强亚太冷(徐州)国际供应链管理有限公司产业龙头,做长各板块一季度中国GDP十强省份预测!江苏破3万亿,四川坐稳第六预测一个地区的发展,已经成为了不少学者以及广大网友的习惯!整体而言,我国的社会经济发展将持续面临众多不确定的因素。无论是城市还是省份之间,内部的排名必然将随着时间的推移而变化。业内江苏首批!苏州77处开放绿地来啦!春日融融约上三五好友找一处草坪绿地,搭上一顶帐篷铺上一桌精致的美食看鸟语花香草长莺飞是不是感觉很惬意好消息来啦4月7日,江苏省住建厅发布了江苏首批开放共享公园绿地清单及地图全省共开味蕾上的江苏本土美食志日历春韭腰花入口脆嫩,韭香浓郁来源交汇点新闻客户端编者按江苏跨江滨海水网密布土地肥沃物产丰盈,是我国有名的美食大省,八大菜系之一的淮扬菜就诞生于此。千百年来,在这片人文荟萃的土地上,厨师和食客们融合南北烹饪技艺正式赴任!总局官宣,高洪波升官提拔,扛足协大旗,范志毅眼光真准正式赴任!体育总局官宣,高洪波升官提拔,统管足协2大重要部门中国足坛反腐即将进入尾声!而作为中国足球的最高管理机构的中国足协,在本次反腐行动中,成为了重灾区!包括足协主席陈戌源秘书警惕!这种癌症,发病率高!男性明显高于女性!医生提醒来源央视财经今天(4月9日)是国际护胃日,随着生活节奏的加快,很多人饮食不规律,胃病愈发常见。究竟哪些习惯伤了胃?如何养胃护胃?据统计,我国胃病发生率高达85。2022年全国癌症报智能投顾叫停风潮持续又一家银行宣布解散基金投资组合智能投顾叫停风潮仍在持续,浙商银行近日发布公告称,自4月22日起,将不再提供增金智投相关组合服务,调整后,持仓客户持有的原增金智投基金组合解散,组合内成分基金将以单个基金的形式存在小香风外套不一定要配打底袜,瞧成都女生这样穿,优雅又有气质女人们对美的追求孜孜不倦,春季属于过渡季节,这个时候的着装打扮就直接体现了一个人的衣品,毕竟在这种乱穿衣的季节,出门造型五花八门,能看到很会穿搭的时髦精,也能发现不懂得打扮的女人。五部男人百看不厌的电视剧,你看懂了几部一,雍正王朝雍正王朝之所以百看不厌,是因为里面的权力斗争和利益争夺直接关乎着生死存亡。九子夺嫡的惨烈,八爷党的错综复杂,雍正的帝王心术,张廷玉的睿智,年羹尧的武断,十三爷的侠胆,隆刚开播就收视直逼第一,扛起谍战剧大旗,湖南卫视这次抓到王炸了在最近几年各种类型的电视剧百花齐放的同时,国产谍战剧除了前几年称得上佳作的伪装者风声叛逆者之外,这几年谍战剧的收视率和质量却以肉眼可见的速度直线下降。对于出生在抗战时期和战乱年代生