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中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
Jun 28 PHP
PHP修改session_id示例代码
Jan 08 PHP
php时间戳转换的示例
Mar 31 PHP
PHP中提问频率最高的11个面试题和答案
Sep 02 PHP
Linux下安装oracle客户端并配置php5.3
Oct 12 PHP
简单说说PHP优化那些事(经验分享)
Nov 27 PHP
laravel 5 实现模板主题功能(续)
Mar 02 PHP
PHP微信开发之模板消息回复
Jun 24 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
Dec 05 PHP
PHP使用redis位图bitMap 实现签到功能
Oct 08 PHP
PHP数据源架构模式之表入口模式实例分析
Jan 23 PHP
PHP中strval()函数实例用法
Jun 07 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
服务器端解压缩zip的脚本
2006/12/22 PHP
php中全局变量global的使用演示代码
2011/05/18 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
PHP使用第三方即时获取物流动态实例详解
2017/04/27 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
PHP dirname简单使用代码实例
2020/11/13 PHP
PHP7 错误处理机制修改
2021/03/09 PHP
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
Bootstrap的图片轮播示例代码
2015/08/31 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
JavaScript轻松创建级联函数的方法示例
2017/02/10 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
security.js实现的RSA加密功能示例
2018/06/06 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
python的继承知识点总结
2018/12/10 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
Python中遍历列表的方法总结
2019/06/27 Python
django框架中间件原理与用法详解
2019/12/10 Python
查看keras各种网络结构各层的名字方式
2020/06/11 Python
Python 实现国产SM3加密算法的示例代码
2020/09/21 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
网上签名寄语活动留言
2014/01/18 职场文书
大专毕业自我鉴定
2014/02/04 职场文书
工艺员岗位职责
2014/02/11 职场文书
外贸业务员求职信
2014/06/16 职场文书
作风整顿剖析材料
2014/09/30 职场文书
项目安全员岗位职责
2015/02/15 职场文书
元旦主持词开场白
2015/05/29 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript