题目
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
分析
分层次遍历肯定要使用队列来完成了,没啥好分析的
代码实现
/* function TreeNode(x) {
this.val = x;
this.left = null;
this.right = null;
} */
function Print(r)
{
if(r === null)
return [];
var q = [];
var index = 0;
var res = [];
res.push([])
q.push(r);
q.push(null);
while(q.length !== 0){
var cur = q.shift();
if(cur !== null){
res[index].push(cur.val);
if(cur.left !== null)
q.push(cur.left);
if(cur.right !== null)
q.push(cur.right);
}else{
if(q.length !== 0){
res.push([]);
index++;
q.push(null);
}
}
}
return res;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。