题目:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
思路:把每一层放入queue中,遍历queue,把根放入temp中,把根的值存入tempVal中,tempVal存的是每一层的结果。结束循环的条件是queue中不再有根。
/* function TreeNode(x) { this.val = x; this.left = null; this.right = null; } */ function Print(pRoot) { var result = []; var queue = []; if (!pRoot) { return []; } queue.push(pRoot); while(queue.length) { var len = queue.length; var tempVal= []; for (var i =0;i<len;i++) { var temp = queue.shift(); tempVal.push(temp.val); if (temp.left) { queue.push(temp.left); } if (temp.right) { queue.push(temp.right); } } result.push(tempVal); } return result; }