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

昌宁网站建设搜狗搜索引擎推广

昌宁网站建设,搜狗搜索引擎推广,昆明网站代理,怎么做网页 网站制作目录 题目:剑指 Offer 32 - II. 从上到下打印二叉树 II - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 题目:剑指 Offer 32 - III. 从上到下打…

目录

题目:剑指 Offer 32 - II. 从上到下打印二叉树 II - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过啦!!!

题目:剑指 Offer 32 - III. 从上到下打印二叉树 III - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过啦!!!

写在最后:


题目:剑指 Offer 32 - II. 从上到下打印二叉树 II - 力扣(Leetcode)

题目的接口:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:vector<vector<int>> levelOrder(TreeNode* root) {}
};

解题思路:

我们可以利用队列先进先出的特性,

用队列来存放二叉树节点,

然后每次遍历二叉树的一层节点,

每层遍历的时候用数组存起来,然后放进二维数组,

每层都用新的数组村节点值即可。

代码:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:vector<vector<int>> levelOrder(TreeNode* root) {//建一个队列queue<TreeNode*> q;TreeNode* cur = root;int qsize = 0;//先把根节点入队if(root){q.push(root);qsize++;}vector<vector<int>> vv;//循环到不再有节点入队while(!q.empty()){//每次初始化新数组vector<int> v;//循环该层的节点数while(qsize--){//节点出队,节点值打印TreeNode* front = q.front();q.pop();v.push_back(front->val);//左右孩子入队if(front->left){q.push(front->left);}if(front->right){q.push(front->right);}}//该层的节点数qsize = q.size();vv.push_back(v);}return vv;}
};

过啦!!!

题目:剑指 Offer 32 - III. 从上到下打印二叉树 III - 力扣(Leetcode)

题目的接口:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:vector<vector<int>> levelOrder(TreeNode* root) {}
};

解题思路:

这道题其实是上一道题的一个变式练习,

整体框架和思路是一样的,

我们只需要根据题意,将双数层的数组反转再打印即可。

代码:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:vector<vector<int>> levelOrder(TreeNode* root) {//建一个队列queue<TreeNode*> q;TreeNode* cur = root;int qsize = 0;int cnt = 0;//先把根节点入队if(root){q.push(root);qsize++;}vector<vector<int>> vv;//循环到不再有节点入队while(!q.empty()){//每次初始化新数组vector<int> v;//记录层数cnt++;//循环该层的节点数while(qsize--){//节点出队,节点值打印TreeNode* front = q.front();q.pop();v.push_back(front->val);//左右孩子入队if(front->left){q.push(front->left);}if(front->right){q.push(front->right);}}//该层的节点数qsize = q.size();//层数为双数的时候反转一下数组就行if(cnt % 2 == 0){reverse(v.begin(), v.end());}vv.push_back(v);}return vv;}
};

过啦!!!

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果喜欢本文的话,欢迎点赞和评论,写下你的见解。

如果想和我一起学习编程,不妨点个关注,我们一起学习,一同成长。

之后我还会输出更多高质量内容,欢迎收看。

http://www.hrbkazy.com/news/40419.html

相关文章:

  • 大连金州网站建设我想找一个营销团队
  • 石家庄网站制作模板河南省疫情最新情况
  • 深圳做h5网站公司企业宣传网站
  • 演讲网站开发背景下载百度2023最新版安装
  • 网站开发中遇到的主要问题网站收录查询工具
  • 平地起建筑人才网厦门关键词优化报价
  • 知名网站有哪些?视频营销成功的案例
  • 怎么弄百度网站平台推广是做什么的
  • 网站建设的网络武汉百度推广优化
  • 一般做企业网站需要什么资料日照seo优化
  • 国内阿里巴巴网站怎么做汕头seo网络推广
  • 济宁网站建设怎么样学生个人网页优秀模板
  • 汽车网站制作模板广告信息发布平台
  • .net 企业网站 模版百度推广管理系统
  • 网站 留言 以邮件形式网络推广外包注意哪些
  • 做网站怎么还用身份证东莞网站建设优化推广
  • 建站工作室 网站建设工作室seo搜索引擎优化的内容
  • dreamweaver做购物网站今日头条最新消息
  • 百度竞价推广方案范文超级seo工具
  • 小型网站建设实训教程在线网站建设平台
  • 西方设计网站一个完整的产品运营方案
  • 重庆市建设公共资源交易中心网站制作公司网站
  • 站长网站优化公司今天nba新闻最新消息
  • 电商平台网站运营方案武汉大学人民医院院长
  • 怎样创建个人的网站免费的网站推广方法
  • 网站欢迎页面怎么做推广手段和渠道有哪些
  • 模板网在线制作太原网站优化公司
  • 网页设计旅游网站前言关键词批量调词 软件
  • asp做网站用什么写脚本南京谷歌推广
  • 做技术分享网站 盈利香港疫情最新消息