二叉树层次遍历加一个比较大小。
java版本:
class Solution {
public List<Integer> largestValues(TreeNode root) {
// 层次遍历 加一个最大值选项就行了
Queue<TreeNode> queue=new LinkedList<>();
List<Integer> arr=new ArrayList<Integer>();
int max,m;
queue.offer(root);
// arr.add(root.val);
while(queue.peek()!=null){
TreeNode node=queue.peek();
max=node.val;m=queue.size();
// System.out.println("queue:"+queue.size());
for(int i=0;i<m;i++){
node=queue.peek();
queue.poll();
max=Math.max(max,node.val);
if(node.left!=null){
queue.offer(node.left);
}
if(node.right!=null){
queue.offer(node.right);
}
}
arr.add(max);
}
return arr;
}
}
网友评论