二叉树的最大深度
 题目思路代码结果
 
题目
 
给定一个二叉树,找出其最大深度。
 
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
 
说明: 叶子节点是指没有子节点的节点。
 
思路
 
用广搜吧,把每一层的节点都拓展进去,然后,利用一个size来记录当前层的节点个数,当size==0时,表明把当前层的节点都拓展完毕了,就把答案的数目自增1.
 
代码
 
import java
.util
.LinkedList
;
import java
.util
.Queue
;
class TreeNode {
      int val
;
      TreeNode left
;
      TreeNode right
;
      TreeNode(int x
) { val 
= x
; }
  }
class Solution {
    public int maxDepth(TreeNode root
) {
        if (root
==null
)
            return 0;
        
        Queue
<TreeNode> queue
=new LinkedList();
        int ans
=0;
        queue
.offer(root
);
        while (!queue
.isEmpty())
        {
            int size
=queue
.size();
            while (size
>0) 
            {
                TreeNode node
=queue
.poll();
                if (node
.left
!=null
)
                    queue
.offer(node
.left
);
                if (node
.right
!=null
)
                    queue
.offer(node
.right
);
                --size
;
            }
            ++ans
;
        }
        return ans
;
    }
}
 
结果
 
 简单搜索题,没有什么好说的!