题目描述Ⅰ
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。(广度优先遍历二叉树)
示例:
给定二叉树: [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回:
[3,9,20,15,7]
题目解答(辅助队列)
定义一个空的辅助队列,若根节点不为null,则将其压入队列,接下来,每从队列的头部弹出一个节点,则从尾部压入该节点的左右子节点。
直到辅助队列为空,则循环结束。
var levelOrder = function(root) {
var array = [];
var anotherArray = [];
if(root==null){
return array;
}
anotherArray.push(root);
while(anotherArray.length!=0){
var node = anotherArray.shift();
array.push(node.val);
if(node.left!=null)
{
anotherArray.push(node.left);
}
if(node.right!=null)
{