题解 | #按之字形顺序打印二叉树#
按之字形顺序打印二叉树
https://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 = []
// if(pRoot.val === undefined && pRoot.left === undefined && pRoot.right === undefined){
// return res
// }
if(!pRoot){
return res
}
let arr = []
const stack1 = [];
const stack2 = [];
stack1.push (pRoot) ;
while(stack1.length!=0 || stack2.length!=0){
while(stack1.length!=0){
arr.push(stack1[stack1.length-1].val);
if(stack1[stack1.length-1].left)
stack2.push(stack1[stack1.length-1].left)
if(stack1[stack1.length-1].right)
stack2.push(stack1[stack1.length-1].right)
stack1.pop();
}
if(arr.length)
res.push(arr)
arr = []
while(stack2.length!=0){
arr.push(stack2[stack2.length-1].val);
if(stack2[stack2.length-1].right)
stack1.push(stack2[stack2.length-1].right)
if(stack2[stack2.length-1].left)
stack1.push(stack2[stack2.length-1].left)
stack2.pop();
}
if(arr.length)
res.push(arr)
arr = []
}
return res
}
module.exports = {
Print : Print
};
#我的实习求职记录#
