当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-08-30 19:54:35 浏览: 评论:0 

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

问题

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

解决思路

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

实现代码:

  1. /*class TreeNode{ 
  2.   var $val; 
  3.   var $left = NULL; 
  4.   var $right = NULL; 
  5.   function __construct($val){ 
  6.     $this->val = $val; 
  7.   } 
  8. }*/ 
  9. function PrintFromTopToBottom($root
  10.   $queueVal = array(); 
  11.   $queueNode = array(); 
  12.   if($root == NULL) 
  13.     return $queueVal
  14.   array_push($queueNode$root); 
  15.   while(!emptyempty($queueNode)){ 
  16.     $node = array_shift($queueNode); 
  17.     if($node->left != NULL) 
  18.       array_push($queueNode,$node->left); 
  19.     if($node->right != NULL) 
  20.       array_push($queueNode,$node->right); 
  21.     array_push($queueVal,$node->val); 
  22.   } 
  23.   return $queueVal
  24. }

Tags: PHP二叉树

分享到: