二叉树遍历之广度(层次)遍历1(牛客网-题库-在线编程-剑指offer题目)

从上到下按层打印二叉树,同一层结点从左至右输出。

// pRoot结构
{
  val: 0,
  left: {
    val: 1
  },
  right: {
    val: 2
  }
}
/* 
  先把pRoot根节点压入queue,while循环每次取出
  queue第一个元素,将val push到arr,同时依次
  将left和right压入queue,进入下一次while循环
*/
function Print(pRoot) {
  let queue = []
  let arr = []
  queue.push(pRoot)
  while (queue.length) {
    let head = queue.shift()
    arr.push(head.val)
    head.left && queue.push(head.left)
    head.right && queue.push(head.right)
  }
  return arr
}

你可能感兴趣的:(刷题)