PHP实现从上往下打印二叉树的方法


Posted in PHP onJanuary 18, 2018

本文实例讲述了PHP实现从上往下打印二叉树的方法。分享给大家供大家参考,具体如下:

问题

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

解决思路

每层树从左到右打印,所以需要将节点的左右子树存起来,因为先进先出,所以用队列。

实现代码

/*class TreeNode{
  var $val;
  var $left = NULL;
  var $right = NULL;
  function __construct($val){
    $this->val = $val;
  }
}*/
function PrintFromTopToBottom($root)
{
  $queueVal = array();
  $queueNode = array();
  if($root == NULL)
    return $queueVal;
  array_push($queueNode, $root);
  while(!empty($queueNode)){
    $node = array_shift($queueNode);
    if($node->left != NULL)
      array_push($queueNode,$node->left);
    if($node->right != NULL)
      array_push($queueNode,$node->right);
    array_push($queueVal,$node->val);
  }
  return $queueVal;
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
rrmdir php中递归删除目录及目录下的文件
May 15 PHP
php设计模式 Bridge (桥接模式)
Jun 26 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
Jul 03 PHP
基于empty函数的输出详解
Jun 17 PHP
PHP图片裁剪函数(保持图像不变形)
May 04 PHP
PHP中绘制图像的一些函数总结
Nov 19 PHP
php延迟静态绑定实例分析
Feb 08 PHP
PHP判断手机是IOS还是Android
Dec 09 PHP
ThinkPHP实现登录退出功能
Jun 29 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 PHP
php双向队列实例讲解
Nov 17 PHP
PHP获取链表中倒数第K个节点的方法
Jan 18 #PHP
PHP获取二叉树镜像的方法
Jan 17 #PHP
PHP实现按之字形顺序打印二叉树的方法
Jan 16 #PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
Jan 16 #PHP
PHP实现找出链表中环的入口节点
Jan 16 #PHP
详解thinkphp中的volist标签
Jan 15 #PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
Jan 15 #PHP
You might like
PHP如何利用P3P实现跨域
2013/08/24 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
php操作csv文件代码实例汇总
2014/09/22 PHP
JS清除IE浏览器缓存的方法
2013/07/26 Javascript
jquery给图片添加鼠标经过时的边框效果
2013/11/12 Javascript
jquery实现树形二级菜单实例代码
2013/11/20 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
2013/11/26 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
2015/08/26 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
基于js实现抽红包并分配代码实例
2019/09/19 Javascript
[36:02]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第一局
2016/02/28 DOTA
Python实现代码统计工具(终极篇)
2016/07/04 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
2018/01/18 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
Pycharm无法显示动态图片的解决方法
2018/10/28 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
python合并多个excel文件的示例
2020/09/23 Python
利用Bootstrap实现漂亮简洁的CSS3价格表实例源码
2017/03/02 HTML / CSS
zooplus德国:便宜地订购动物用品、动物饲料、动物食品
2020/05/06 全球购物
智乐游戏测试笔试题
2014/05/21 面试题
技校毕业生的自我评价
2013/12/27 职场文书
初中同学聚会邀请函
2014/02/03 职场文书
理工学院学生自我鉴定
2014/02/23 职场文书
关于读书的活动方案
2014/08/14 职场文书
党的群众路线教育实践活动实施方案
2014/10/31 职场文书
建党伟业观后感
2015/06/01 职场文书
2016年党风廉政建设承诺书
2016/03/25 职场文书
2019最新版劳务派遣管理制度
2019/08/16 职场文书
Mysql - 常用函数 每天积极向上
2021/04/05 MySQL