首页  >  文章  >  后端开发  >  PHP从上往下打印二叉树实现方法

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

小云云
小云云原创
2018-01-19 09:32:151396浏览

本文主要介绍了PHP实现从上往下打印二叉树的方法,涉及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如何实现判断二叉树是否对称

以上是PHP从上往下打印二叉树实现方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn