给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
class Solution{
/**
* 计算二叉树的深度
* */
public int maxDepth(TreeNode treeNode){
if(null == treeNode){
return 0 ;
}
//
Queue<TreeNode> queue = new LinkedList<TreeNode>();
int a = 0 ;
queue.offer(treeNode);
while(!queue.isEmpty()){
int size = queue.size();
while(size > 0) {
TreeNode treeNode1 = queue.poll();
if (null != treeNode1.left) {
queue.offer(treeNode1.left);
}
if (null != treeNode.right) {
queue.offer(treeNode1.right);
}
size--;
}
a++;
}
return a ;
}
}
class TreeNode {
int val ;
TreeNode left;
TreeNode right ;
TreeNode(int x){
this.val = x ;
}
}