题目描述:

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

解题思路:

  • 考察二叉树的广度优先遍历

解题代码:

  1. function PrintFromTopToBottom(root)
  2. {
  3. // write code here
  4. if(!root) return [];
  5. const res = [];
  6. const queue = [root];
  7. while(queue.length) {
  8. let temp = queue.shift();
  9. res.push(temp.val);
  10. // 注意这里一定要加判断条件
  11. if(temp.left) queue.push(temp.left);
  12. if(temp.right) queue.push(temp.right);
  13. }
  14. return res;
  15. }