JavaScript刷LeetCode -- 102. Binary Tree Level Order Traversal [Medium]

一、题目

  Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).

二、题目大意

  层级遍历二叉树。

三、解题思路

  这里采用队列的方式解决,同样也可以采用递归的方式。

代码实现

const levelOrder = root => {
  const ans = []
  if (!root) {
    return ans
  }

  const q = [root]
  let deep = 0

  while (q.length) {
    const max = q.length

    for (let i = 0; i < max; i++) {
      const item = q.pop()
      if (item) {
        if (!ans[deep]) {
          ans[deep] = []
        }
        ans[deep].push(item.val)
        item.left && q.unshift(item.left)
        item.right && q.unshift(item.right)
      }
    }
    deep++
  }

  return ans
}

  如果本文对您有帮助,欢迎关注微信公众号,为您推送更多内容,ε=ε=ε=┏(゜ロ゜;)┛。

猜你喜欢

转载自blog.csdn.net/dai_qingyun/article/details/86294450