515. 在每个树行中找最大值
515. 在每个树行中找最大值
https://leetcode-cn.com/problems/find-largest-value-in-each-tree-row/
//您需要在二叉树的每一行中找到最大的值。
//
// 示例:
//
//
//输入:
//
// 1
// / \
// 3 2
// / \ \
// 5 3 9
//
//输出: [1, 3, 9]
//
// Related Topics 树 深度优先搜索 广度优先搜索
// 👍 117 👎 0
Java代码解题
class Solution {
public List<Integer> largestValues(TreeNode root) {
List<Integer> list = new ArrayList<>();
Queue<TreeNode> queue = new LinkedList();
if (root != null) {
queue.add(root);
}
while (!queue.isEmpty()) {
//int的最小值
int max = Integer.MIN_VALUE;
int n = queue.size();
for (int i = 0; i < n; i++) {
TreeNode node = queue.poll();
if (node.val > max) {
max = node.val;
}
if (node.left != null) {
queue.add(node.left);
}
if (node.right != null) {
queue.add(node.right);
}
}
list.add(max);
}
return list;
}
}