题解 | #按之字形顺序打印二叉树#
按之字形顺序打印二叉树
http://www.nowcoder.com/practice/91b69814117f4e8097390d107d2efbe0
抄的
/* function TreeNode(x) {
this.val = x;
this.left = null;
this.right = null;
} */
function Print(pRoot)
{
// write code here
let res=[]
let quene=[]
quene.push(pRoot)
while(quene[0]){
let tmp=[]
for(let i=quene.length;i>0;i--){ //for循环用来记录当前层有几个要打印
let node=quene.shift()
tmp.push(node.val)
if(node.left){
quene.push(node.left)
}
if(node.right){
quene.push(node.right)
}
}
res.push(tmp)
if(quene.length===0) break;
tmp=[]
for(let i=quene.length;i>0;i--){
let node=quene.pop() //从右往左边
tmp.push(node.val)
if(node.right){
quene.unshift(node.right)
}
if(node.left){
quene.unshift(node.left)
}
}
res.push(tmp)
}
return res
}
module.exports = {
Print : Print
};