# 在每个树行中找最大值
- 在每个树行中找最大值
来源:力扣(LeetCode) 链接 (opens new window):https://leetcode.cn/problems/find-largest-value-in-each-tree-row/
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
# 问题
给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值
输入: root = [1,3,2,5,3,null,9]
输出: [1,3,9]
# 思路
广度优先遍历(层序遍历)
var largestValues = function (root) {
if (!root || root.length == 0) {
return [];
}
let arr = [];
arr.push(root);
let result = [];
while (arr.length !== 0) {
const array = arr.splice(0);
let temp = -Infinity;
for (let i = 0; i < array.length; i++) {
const element = array[i];
if (element && element.left) {
arr.push(element.left);
}
if (element && element.right) {
arr.push(element.right);
}
if (element.val) {
temp = Math.max(element.val, temp);
} else {
temp = Math.max(0, temp);
}
}
result.push(temp);
}
return result;
};