加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
PrintFromTopToBottom.php 1021 Bytes
一键复制 编辑 原始数据 按行查看 历史
star 提交于 2018-09-18 10:03 . –22-从上往下打印二叉树
<?php
/**
* 从上往下打印二叉树
* 从上往下打印出二叉树的每个节点,同层节点从左至右打印。
* 使用一个队列,每个节点出队,则它的左右子孩子入队
*/
class TreeNode{
public $val;
public $left = NULL;
public $right = NULL;
public function __construct($val){
$this->val = $val;
}
}
function PrintFromTopToBottom($root)
{
$queue = [];
if ($root == null) {
return null;
}
array_unshift($queue, $root);
while (!empty($queue)) {
$node = array_pop($queue);
echo $node->val.' ';
if ($node->left) {
array_unshift($queue, $node->left);
}
if ($node->right) {
array_unshift($queue, $node->right);
}
}
}
$node = new TreeNode(1);
$node->left = new TreeNode(2);
$node->right = new TreeNode(3);
$node->left->left = new TreeNode(4);
$node->left->right = new TreeNode(5);
$node->right->left = new TreeNode(6);
$node->right->right = new TreeNode(7);
PrintFromTopToBottom($node);
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化