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 相关文章推荐
php_xmlhttp 乱码问题解决方法
Aug 07 PHP
php防攻击代码升级版
Dec 29 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
May 08 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
PHP伪静态Rewrite设置之APACHE篇
Jul 30 PHP
php跨服务器访问方法小结
May 12 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
Oct 09 PHP
php+ajax制作无刷新留言板
Oct 27 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
Nov 16 PHP
详解PHP安装mysql.so扩展的方法
Dec 31 PHP
PHP实现类似于C语言的文件读取及解析功能
Sep 01 PHP
基于swoole实现多人聊天室
Jun 14 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水印技术
2007/02/14 PHP
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
PHP嵌套输出缓冲代码实例
2015/05/12 PHP
javascript 面向对象编程基础:封装
2009/08/21 Javascript
JavaScript插入动态样式实现代码
2012/02/22 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
如何使用jquery实现文字上下滚动效果
2016/10/12 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
Vue2 轮播图slide组件实例代码
2018/05/31 Javascript
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
2018/11/06 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
2019/04/11 Javascript
微信小程序实现图片压缩
2019/12/03 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
selenium+python实现自动登录脚本
2018/04/22 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
python如何调用百度识图api
2020/09/29 Python
python-地图可视化组件folium的操作
2020/12/14 Python
实习生自荐信范文分享
2013/11/27 职场文书
学习党章思想汇报
2014/01/07 职场文书
小学家长会邀请函
2014/01/23 职场文书
药店主任岗位责任制
2014/02/10 职场文书
企业演讲稿范文大全
2014/05/20 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
地方白酒代理协议书
2014/10/25 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
2016大学先进团支部事迹材料
2016/03/01 职场文书
python 中的jieba分词库
2021/11/23 Python