
1.问题您需要在二叉树的每一行中找到最大的值。示例原题链接2.解法方法一广度优先搜索 BFS层次遍历保存每层的最大值并添加到结果中。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val x; } * } */ class Solution { public ListInteger largestValues(TreeNode root) { QueueTreeNode queue new LinkedList(); ListInteger res new LinkedList(); // Abnormal if(root null) return res; queue.add(root); while(!queue.isEmpty()){ int maxValue Integer.MIN_VALUE; int count queue.size(); while(count-- 0){ TreeNode tmpNode queue.poll(); if(tmpNode.left ! null){ queue.add(tmpNode.left); } if(tmpNode.right ! null){ queue.add(tmpNode.right); } if(tmpNode.val maxValue) maxValue tmpNode.val; } res.add(maxValue); } return res; } }