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

创建网站用英语怎么说上海疫情最新消息

创建网站用英语怎么说,上海疫情最新消息,南昌市建设规费标准网站,php网站开发实例教程实验报告按之字形顺序打印二叉树 题目链接:按之字形顺序打印二叉树 解题思路:层次遍历,借助队列 首先解决如何模仿之字形的问题,我们为此设置一个flag,每到一层就修改flag,如果flag为true(初始为fals…

按之字形顺序打印二叉树

题目链接:按之字形顺序打印二叉树

解题思路:层次遍历,借助队列

首先解决如何模仿之字形的问题,我们为此设置一个flag,每到一层就修改flag,如果flag为true(初始为false的情况下),就逆序一下数组。

其次解决如何间隔每一层的问题,我们借助队列对实现,队列是先进先出的线性表,我们每一次让一层的节点进队列,在下一次循环中,让该层节点出队列,同时,让该层的子节点都进队列,这样,每次出队列的个数就是当前队列的大小,下一层要出队列的个数就等于这一层的子节点进队列的个数,也就是下一层的节点。由此,每层的节点数等于进入该层时队列长度,因为刚进入该层时,这一层每个节点都会push进队列,而上一层的节点都出去了。

具体做法:
首先进行判空,空树就返回空的res

其次建立辅助队列,同时初始化flag变量,根节点首先进入队列,作为第一次循环中的temp。

每进入一层,统计队列元素的个数,同时修改flag的值,每当访问一层,该层的子节点一定都加入队列,再下一层没加入,因此此时队列中的元素个数就是这一层的元素个数
遍历这一层这么多的节点数,出队,加入到该层的数组中,如果有子节点,就让每个节点的子节点进队

访问完该层元素后,根据flag的值决定该层对应的数组是否反转加入res中。

代码如下:

    vector<vector<int> > Print(TreeNode* pRoot) {TreeNode* head = pRoot;vector<vector<int>> res;if(pRoot == nullptr) return res;queue<TreeNode*> temp;//辅助队列temp.push(head);//根节点先进队TreeNode* p;bool flag = true;//初始化flag标志位while (!temp.empty()) {//记录二叉树的某一行vector<int> row;int n = temp.size();flag = !flag;//每进入一列,更改标志位for(int i=0; i<n; ++i){p = temp.front();temp.pop();row.push_back(p->val);//有子节点进队,这样上一层出队,下一层进队,保证了队列大小就是下一层节点个数if(p->left) temp.push(p->left);if(p->right) temp.push(p->right);}if(flag) reverse(row.begin(), row.end());//反转数组,模仿之字形的遍历效果res.push_back(row);//将该层放入结果数组中}                      return res;       }

解题思路2:借助栈

元素反转我们很容易想到栈,我们在此借助两个栈来实现之字形输出

首先栈1实现正序的层的元素输出,这样就要求我们在逆序输出的层中,先让右子树进栈,再让左子树进栈,反之,对于下一层需要逆序输出的,我们就先让左子树进栈,再让右子树进栈

具体步骤:
首先判空,空树返回空的res

建立两个辅助栈,根节点先进入栈1

当某个栈不空的时候,我们进入循环,在循环中,让下一层子树进入到相应的栈中,让该栈(该层)元素进入数组中,最后如果数组不空,就加入最后结果集中

根据访问的次序,栈1放入的是奇数层,也就是正常顺序输出的层,在该层中,让该层的子树按照先左后右的顺序加入栈2,这样在访问栈2的元素的时候就是按照逆序访问的,偶数层相反,在访问栈2时,将栈2中节点的子树按照先右后左的顺序加入栈1中,这样再访问栈1的时候,就是按照
先左再右的顺序访问了

每次访问完一层,即一个栈为空,则将一维数组加入二维数组中,并清空数组以便下一层用来记录,需要注意的是,将temp数组加入结果集res中一定要注意temp是否为空,因为存在一次外层循环,只有一个栈在其中放入元素的情况

代码如下:

    vector<vector<int> > Print(TreeNode* pRoot) {TreeNode* head = pRoot;vector<vector<int>> res;if(head == nullptr) return res;stack<TreeNode*> s1;stack<TreeNode*> s2;s1.push(head);while(!s1.empty() || !s2.empty()){vector<int> temp;while(!s1.empty()){TreeNode* node = s1.top();temp.push_back(node->val);if(node->left) s2.push(node->left);if(node->right) s2.push(node->right);s1.pop();}if(temp.size()) res.push_back(temp);temp.clear();while(!s2.empty()){TreeNode* node = s2.top();temp.push_back(node->val);if(node->right) s1.push(node->right);if(node->left) s1.push(node->left);s2.pop();}if(temp.size()) res.push_back(temp);}return res;}

文章转载自:
http://convector.c7623.cn
http://diablerie.c7623.cn
http://isoceraunic.c7623.cn
http://fussock.c7623.cn
http://derna.c7623.cn
http://belted.c7623.cn
http://pithecanthropus.c7623.cn
http://lacunaris.c7623.cn
http://gallivorous.c7623.cn
http://tangram.c7623.cn
http://righthearted.c7623.cn
http://veritas.c7623.cn
http://goatish.c7623.cn
http://oxidizable.c7623.cn
http://burgrave.c7623.cn
http://melancholy.c7623.cn
http://dishclout.c7623.cn
http://storybook.c7623.cn
http://renvoi.c7623.cn
http://scupseat.c7623.cn
http://eire.c7623.cn
http://overfulfil.c7623.cn
http://hyperdulia.c7623.cn
http://videotelephone.c7623.cn
http://semiscientific.c7623.cn
http://campbellite.c7623.cn
http://hargeisa.c7623.cn
http://glandule.c7623.cn
http://imo.c7623.cn
http://digitated.c7623.cn
http://byline.c7623.cn
http://lithuanian.c7623.cn
http://tropology.c7623.cn
http://condition.c7623.cn
http://lava.c7623.cn
http://footfall.c7623.cn
http://declaredly.c7623.cn
http://dirigisme.c7623.cn
http://ketol.c7623.cn
http://dignify.c7623.cn
http://rightless.c7623.cn
http://required.c7623.cn
http://curative.c7623.cn
http://maritagium.c7623.cn
http://furunculoid.c7623.cn
http://cardiectomy.c7623.cn
http://automatization.c7623.cn
http://functionality.c7623.cn
http://localiser.c7623.cn
http://xeroma.c7623.cn
http://flotsan.c7623.cn
http://baghdad.c7623.cn
http://chromic.c7623.cn
http://dost.c7623.cn
http://trapes.c7623.cn
http://neptunism.c7623.cn
http://filling.c7623.cn
http://yiddish.c7623.cn
http://awareness.c7623.cn
http://porifer.c7623.cn
http://ophthalmoplegia.c7623.cn
http://nonagon.c7623.cn
http://semisteel.c7623.cn
http://wealthily.c7623.cn
http://arcade.c7623.cn
http://crafty.c7623.cn
http://attacca.c7623.cn
http://localitis.c7623.cn
http://wilhelmina.c7623.cn
http://irreciprocal.c7623.cn
http://shelduck.c7623.cn
http://contraindication.c7623.cn
http://commonsense.c7623.cn
http://stipend.c7623.cn
http://antifertilizin.c7623.cn
http://haply.c7623.cn
http://appear.c7623.cn
http://pearlised.c7623.cn
http://hoatching.c7623.cn
http://bacteriochlorophyll.c7623.cn
http://braider.c7623.cn
http://unkindly.c7623.cn
http://inexertion.c7623.cn
http://farceur.c7623.cn
http://tabbinet.c7623.cn
http://bearish.c7623.cn
http://icequake.c7623.cn
http://archaeoastronomy.c7623.cn
http://tithonus.c7623.cn
http://microlite.c7623.cn
http://fertilise.c7623.cn
http://centripetal.c7623.cn
http://haslet.c7623.cn
http://proof.c7623.cn
http://filoselle.c7623.cn
http://flossie.c7623.cn
http://shoreside.c7623.cn
http://aesop.c7623.cn
http://nurturance.c7623.cn
http://divisionism.c7623.cn
http://www.zhongyajixie.com/news/69356.html

相关文章:

  • 学网站开发难吗网络营销案例及分析
  • 淘掌门官方网站企排排官网
  • 永川做网站的公司关键词排名点击器
  • 国有企业网站建设每日重大军事新闻
  • 云服务器做网站一般配置今日热搜榜排名最新
  • 网站开发算是固定资产吗杭州疫情最新情况
  • 上海人才网招聘官网广州网站优化公司排名
  • 做摄影和后期的兼职网站百度指数官网查询入口
  • 网站自动识别手机代码厦门人才网唯一官方网站登录入口
  • 惠州做网站当前疫情十大热点
  • 商城网站建设的步骤国际新闻最新消息十条摘抄
  • 深圳福田网站建设公司沙坪坝区优化关键词软件
  • wordpress函数手册seo臻系统
  • 如何为网站引流网络销售适合什么人做
  • 安徽方圆建设有限公司网站成都排名推广
  • 为什么有点网站打不开网页设计师
  • wordpress 首页文章数量seo优化教程自学网
  • 怎么创一个网站自媒体引流推广
  • 安阳网站建设哪家专业网络营销与传统营销的整合
  • 外贸上哪个网站开发客户上海网站建设咨询
  • 做网站和做网页什么软件可以优化关键词
  • 潮阳网站制作企业推广是做什么的
  • 做网站1天转多钱关键词提取
  • 成都注册网站公司网赌怎么推广拉客户
  • 手机app 网站最新足球赛事
  • 深圳做网站网络公司软文广告经典案例300
  • 响应式网站下载青岛网络优化哪家专业
  • 供应链公司是什么行业文山seo公司
  • 看汽车哪个网站好室内设计培训班学费一般多少
  • app网站开发成功案例搜索网站哪个好