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

作者:重口味AC 时间:2023-06-25 17:40:08 

本文实例讲述了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程序设计有所帮助。

来源:http://blog.csdn.net/acingdreamer/article/details/65470258

标签:PHP,二叉树
0
投稿

猜你喜欢

  • python实现一个简单的udp通信的示例代码

    2023-07-23 16:08:43
  • SQL语句实现查询当前数据库IO等待状况

    2024-01-17 02:04:32
  • Vue3 组件库的环境配置搭建过程

    2024-04-30 10:19:58
  • Python OpenCV基于HSV的颜色分割实现示例

    2021-11-04 19:24:26
  • Python利用networkx画图绘制Les Misérables人物关系

    2021-03-31 07:41:54
  • Python实现Harbor私有镜像仓库垃圾自动化清理详情

    2021-02-08 17:09:46
  • MSSQL优化之探索MSSQL执行计划(转)

    2011-11-03 17:16:21
  • vue项目中使用百度地图的方法

    2024-06-07 15:20:26
  • 并行查询让SQL Server加速运行

    2009-03-16 16:31:00
  • 也谈javascript程序优化问题

    2008-10-29 11:30:00
  • 解决django框架model中外键不落实到数据库问题

    2024-01-13 20:36:12
  • js执行shell命令的几种方式(Node)

    2024-04-16 10:35:14
  • 在阿里云的CentOS环境中安装配置MySQL的教程

    2024-01-13 13:13:26
  • pandas groupby分组对象的组内排序解决方案

    2023-06-15 18:34:58
  • python入门基础之用户输入与模块初认识

    2022-08-13 01:10:21
  • ASP向Excel导数据(图片)终结版 ASP操作Excel

    2011-03-25 10:48:00
  • asp连接mysql数据库详细实现代码

    2012-12-04 19:56:39
  • pycharm创建并使用虚拟环境的详细图文教程

    2022-05-27 18:19:51
  • 解决python运行效率不高的问题

    2023-04-01 05:31:36
  • python 数据类(dataclass)的具体使用

    2022-11-08 09:36:27
  • asp之家 网络编程 m.aspxhome.com