题目描述 输出二叉树中每层的最大节点。
例如: 3
4 7
2 1 9 10
应该输出 3 7 10
思路:看到每层,我们应该联想到队列,然后用两个变量,一个用于保存当前层节点的个数,另一个用于保存下一层节点的个数。再利用java中的list去保存每一层的节点,最后再输出打印该层节点的最大值即可。
代码如下:
public class PrintMaxNode {
/**
* 节点的信息
*/
class Node{
Node left;
Node right;
int val;
public Node(int val){
this.val=val;
}
}
/**
* 初始化二叉树,也就是上文中的二叉树
* @return
*/
public Node init(){
Node head,p,p1,p2;
p=new Node(3);
head=p;
p1=new Node(4);
p.left=p1;
p1=new Node(7);
p.right=p1;
p1=p.left;
p2&