Leetcode 简单二十四 二叉树的层次遍历II

二叉树的层次遍历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);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_36688622/article/details/87927546