题解 | #按之字形顺序打印二叉树#
按之字形顺序打印二叉树
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 };#我的实习求职记录#