xianjianlf2/javascript-algorithms

📝Leetcode 515.在每个树行中找最大值

Opened this issue · 0 comments

题目🌵

📝Leetcode 515.在每个树行中找最大值

✏️https://leetcode.cn/problems/find-largest-value-in-each-tree-row/description/


给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。

示例 1:

输入: root = [1,3,2,5,3,null,9]
输出: [1,3,9]

解题思路💡

var largestValues = function (root) {
  // 层序遍历

  if (root === null) {
    return []
  }
  const res = []
  const queue = [root]
  while (queue.length) {
    let len = queue.length
    let maxValue = queue[0].val
    while (len--) {
      const node = queue.shift()
      maxValue = maxValue < node.val ? node.val : maxValue
      node.left && queue.push(node.left)
      node.right && queue.push(node.right)
    }
    res.push(maxValue)
  }
  return res
}