二叉树的层次遍历II:
php 16ms:
广度优先遍历,使用队列。后续会有递归版本。
/**
* Definition for a binary tree node.
* class TreeNode {
* public $val = null;
* public $left = null;
* public $right = null;
* function __construct($value) { $this->val = $value; }
* }
*/
class Solution {
function levelOrderBottom($root) {
if(is_null($root)){
return [];
}
$re = [];
$queue = [];
$level = 0;
$queue[] = [$root,0];
while(!empty($queue)){
$node = array_shift($queue);
$level = $node[1];
$np = $node[0];
$re[$level][] = $np->val;
if($np->left){
$queue[] = [$np->left,$level+1];
}
if($np->right){
$queue[] = [$np->right,$level+1];
}
}
return array_reverse($re);
}
}