<?php
Class TreeNode {
public function __construct(
public $value = 0,
public ?TreeNode $left = null,
public ?TreeNode $right = null
) {
}
}
function levelOrder(TreeNode $node)
{
if ($node === null) {
return null;
}
$queue = new SplQueue();
$queue->enqueue($node);
while(!empty($queue)) {
$node = $queue->dequeue();
echo $node->value;
if ($node->left !== null) {
$queue->enqueue($node->left);
}
if ($node->right !== null) {
$queue->enqueue($node->right);
}
}
}