题目

给定一个二叉树,进行按层遍历。
例:

解析

给定一颗二叉树:

首先准备一个队列,让头节点入队;

节点出队并打印,同时此节点的左节点2入队,右节点3在入队;

2出队,2的左节点4入队,2的右节点5在入队;

3出队,3的右节点6在入队;

最后以此出队,得到结果。

代码

public static class Node {public int value;public Node left;public Node right;public Node(int v) {value = v;}
}public static void level(Node head) {if (head == null) {return;}Queue<Node> queue = new LinkedList<>();queue.add(head);while (!queue.isEmpty()) {Node cur = queue.poll();System.out.println(cur.value);if (cur.left != null) {queue.add(cur.left);}if (cur.right != null) {queue.add(cur.right);}}
}

有苦有乐的算法 --- 二叉树的按层遍历相关推荐

  1. 有苦有乐的算法 --- 图的宽度优先遍历

    题目 给定一个图,使用队列对其进行宽度优先遍历 代码 public static void bfs(Node start) {if (start == null) {return;}Queue< ...

  2. 有苦有乐的算法 --- 获取二叉树的最大宽度

    题目 一颗二叉树,求其最大宽度. 例: 解析 按层遍历二叉树: 在遍历时,使用用4个变量来记录信息: Node curEnd = null; // 当前层,最右节点是谁 Node nextEnd = ...

  3. [算法] 二叉树的 先序遍历、中序遍历、后序遍历

    本文根据清华大学邓俊辉老师课程<数据结构>总结,课程地址 . 遍历介绍 按照事先约定的某种规则或次序,对节点各访问一次而且仅一次.与向量和列表等线性结构一样,二叉树的这类访问也统称为遍历( ...

  4. 有苦有乐的算法 --- 判断一颗二叉树是否是完全二叉树、是否是平衡二叉树、是否是搜索二叉树

    是否是完全二叉树 完全二叉树:二叉树的每一层要么是满的,要么从左到右处在变满的路上. public static boolean isCBT(Node head) {if (head == null) ...

  5. 有苦有乐的算法 --- 用栈和递归的方式实现二叉树的前序遍历、中序遍历、后序遍历

    前序遍历 递归方式: public static void pre(Node head) {if (head == null) {return;}System.out.println(head.val ...

  6. 有苦有乐的算法 --- 有序数组中的元素存在问题、最左元素问题和无序数组局部最小问题

    一个有序数组,判断是否含有一个元素 解析: 给定一个数组 如果需要判断是否存在的元素为3. 首先找到数组的中间元素: 如果此元素为3,结束: 如果不是,此元素与3比较,此元素如果大于3,在从此元素左边 ...

  7. 有苦有乐的算法 --- 一个数组中,有两种数出现了奇数次,其余数都出现了偶数次,找到这两种数

    题目 一个数组中,有两种数出现了奇数次,其余数都出现了偶数次,找到这两组数 例: [2,4,3,2,5,4] ⇒ [3,5] [1,4,6,3,7,8,3,2,1,2,6,6,7,8] ⇒ [6,4] ...

  8. 有苦有乐的算法 --- 可能有环也可能无环的两个单链表,判断这两个链表是否相交,如果相交返回相交的第一个节点

    题目 可能有环也可能无环的两个单链表,判断这两个链表是否相交,如果相交返回相交的第一个节点. 解析 第一步,判断链表是有环链表还是无环链表: 如果一个单链表无环,它一定有一个指向null的尾结点: 如 ...

  9. 有苦有乐的算法 --- 基数排序

    题目 一个无序数组,使用基数排序的方式从小到大进行排序 解析 给定一个数组: 首先准备一个"桶"(每个桶是一个队列): 从左到右遍历数组,每个元素的个位数是多少,就进入几号桶中: ...

最新文章

  1. 利用WebClient和WebRequest类获得网页源代码C#
  2. Android 使用Adapter适配器模式实现无线轮播BannerView
  3. macos可以升级到指定版本吗_iOS14如期而至!重大更新的全新版本,值得升级吗?答案在这...
  4. python网格搜索核函数_(转载)Python机器学习笔记GridSearchCV(网格搜索)
  5. arcgis根据矢量范围裁取tif影像(栅格数据)、批量合并shp文件、根据矢量范围裁取区域内的矢量,输出地理坐标系
  6. Datahub Python SDK入门手册
  7. Jquery快速构建可拖曳的购物车-DragDrop
  8. HDFS文件权限不足导致Sqoop执行失败
  9. edge下载网络问题无法下载
  10. PHP打造的轻量级单文件管理系统FileBox V1.10.0.2版
  11. Python 如何被证明是 2021 年的转折点语言
  12. 全国计算机三级网络工程技术复习笔记4
  13. 名企今年给应届生的待遇
  14. ROS-3DSLAM(二)lvi-sam项目认识
  15. 条款20:宁以pass-by-reference-to-const替换pass-by-value
  16. 大学物理复习4-保守力(做功)+功能原理+机械能守恒
  17. 常用oracle数据库查询命令
  18. 结队-贪吃蛇-项目进度
  19. FPGA触摸按键控制LED——拓展:按下之后LED闪烁,再次按下停止闪烁
  20. 我玩过这个1992年的沙丘游戏,所以您不必

热门文章

  1. Linux opendir函数
  2. 微软同步框架入门之四--冲突(Conflict)检测和处理
  3. 什么是RPA? Robotic Process Automation
  4. 第一册:lesson thirteen.
  5. Unity 2021.1.15 ARCore环境配置与样例开发
  6. 离散数学_九章:关系(2)
  7. 小白终是踏上了这条不归路----小文的mysql学习笔记(22)--------函数
  8. NGINX、MongoDB、NPM 开启 Open Core Summit 新篇章
  9. python中print()的作用是什么_在python中最常见的:print的真正用法
  10. 【数据结构和算法】2谈谈算法