您需要在二叉树的每一行中找到最大的值。
示例:
输入: 1/ \3 2/ \ \ 5 3 9 输出: [1, 3, 9]
在真实的面试中遇到过这道题?
class Solution {public List<Integer> largestValues(TreeNode root) {List<Integer> res = new ArrayList<>();Queue<TreeNode> queue = new LinkedList<>();if(root == null) return res;queue.add(root);while(!queue.isEmpty()){int size = queue.size();int Max = Integer.MIN_VALUE;for(int i=0; i<size; 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);}res.add(Max);}return res;} }