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

网站制作教程手机娄底市网站建设制作

网站制作教程手机,娄底市网站建设制作,app注册,网站建设好还是阿里巴巴好题目 从上到下打印出二叉树的每个节点&#xff0c;同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回&#xff1a; [3,9,20,15,7] 提示&#xff1a; 节点总数 < 1000 解题思路 1.题目要求我们从…

题目

从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。

例如:
给定二叉树: [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7

返回:

[3,9,20,15,7]

提示:

  1. 节点总数 <= 1000

解题思路

1.题目要求我们从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。也就是按照二叉树的层序遍历打印二叉树。

2.我们只需要一个队列即可实现,首先我们判断树是否为空,若为空则返回一个没有元素的数组。然后我们建立一个队列来执行打印操作,再建立一个可变数组来存放遍历后的元素,因为我们不确定所给树的元素的个数,所以需要一个可变数组。

3.下面我们开始遍历,首先我们将根节点入队。然后进入一个while()循环,若队列不为空则将让队列进行出队操作,然后将刚出队的元素保存在可变数组中,再判断此元素是否有左右孩子,若存在左右孩子就将左右孩子入队。之后再次判断队列是否为空。循环往复,直到队列为空,就代表整棵树已经遍历完了。

4.最后我们需要将可变数组中的元素存入一个数组并且返回即可。

举个例子:

先让三入队

 queue 不为空,让 3 出队,并且让 3 的左右孩子入队。

 queue 不为空让 9 出队,因为 9 没有左右孩子,所以不进行入队操作

 queue 不为空 让 20 出队,并且让 20 的左右孩子入队。

 queue 不为空让 15 出栈,15 没有左右孩子  ,所以不进行入队操作

  queue 不为空让 7 出栈,7 没有左右孩子  ,所以不进行入队操作

 

 queue 为空,打印结束。

代码实现

class Solution {public int[] levelOrder(TreeNode root) {if(root == null){return new int[0];}Queue<TreeNode> queue = new LinkedList<>();List<Integer> res = new ArrayList<>();queue.add(root);while(!queue.isEmpty()){TreeNode cur = queue.poll();res.add(cur.val);if(cur.left != null) queue.add(cur.left);if(cur.right != null) queue.add(cur.right);}int[] num = new int[res.size()];for(int i = 0; i < res.size(); i++){num[i] = res.get(i);}return num;}
}

测试结果

 

http://www.yayakq.cn/news/661578/

相关文章:

  • 中山网站建设招聘百度搜索使用方法
  • 表情网站源码上海专业高端网站建设
  • 网站优化什么商业展示空间设计案例及赏析
  • 建设企业网站管理的重要性自建电商平台
  • 专业做网站价格网络舆情分析论文
  • 可以直接观看的网站正能量做网站好一点的软件
  • 河南省建设厅网站打不开沈阳模板建站
  • 增城网站建设模板做网站
  • 网站建设Skype打不开早教网站设计
  • 网站建设 牛商网技术提供郴州网站优化公司
  • 影响网站速度的因素如何给公司做网站推广宣传
  • 河南郑州做网站深圳宝安有多少个区
  • 任县网站建设网络公司wordpress微信h5
  • 化妆品网站建设公司湖北网站建设推荐
  • 上海网站推广广告酒类营销网站
  • 网站流量刷免费下载歌曲的网站
  • 商丘网站制作案例网页源代码中
  • 百seo排名优化网络优化排名培训
  • 网站域名的根目录在哪里长春网站建设新格
  • 站多多 福州网站建设手机怎样用网站做成软件
  • 算命购物网站建设wordpress本地搭建网站a
  • 济南网站建设服务婚纱网站建设 最开始
  • php如何网站做修改惠州市seo上词
  • 高校网站建设方案网站制作的软件有哪些
  • 网站显示正在建设是什么意思极致cms模板
  • 山东做网站建设公司排名wordpress 信息资讯
  • 无锡网站排名哪家好国外点击链接推广平台
  • 十大最免费软件排行榜龙岗网站优化
  • 北京高端网站设计外包公司网上商城项目设计方案
  • 网站备案信息可以改吗广州市 网站建设建设