给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)
思路:把当前节点写入队列,当他被抛出的时候,把他的子节点写入队列。
<?php
class Node{
public $left = null;
public $right = null;
public $val;
public function __construct($val) {
$this->val = $val;
}
}
function levelOrderBottom($head) {
if ($head == null) {
return;
}
$arrVal = array();
array_push($arrVal, $head);
while (!empty($arrVal)) {
$node = array_shift($arrVal);
print $node->val;
if ($node->left != null) {
array_push($arrVal, $node->left);
}
if ($node->right != null) {
array_push($arrVal, $node->right);
}
}
}
$node1 = new Node(3);
$node2 = new Node(9);
$node3 = new Node(10);
$node4 = new Node(15);
$node5 = new Node(7);
$node1->left = $node2;
$node1->right = $node3;
$node3->left = $node4;
$node3->right = $node5;
levelOrderBottom($node1);
本文介绍了一种实现二叉树层序遍历的方法,通过使用队列数据结构,可以按层次从左到右遍历二叉树的每一个节点。示例代码使用PHP实现,创建了二叉树节点并进行了层序遍历。
188

被折叠的 条评论
为什么被折叠?



