给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
思路:先将root结点加入到我们队列当中
每一层 每一层 进行遍历 用一个tmp 当作中间变量
将每一层的左右结点加入到当前该队列之后 判断是否为空
如果为空的话 结束遍历
返回当前cout值
public int maxDepth(TreeNode root) {
if (root==null){
return 0;
}
int cout = 0;
LinkedList<TreeNode> queue = new LinkedList();
queue.add(root);
while (queue.size()!=0){
LinkedList<TreeNode> tmp = new LinkedList<>();
while (queue.size()!=0){
TreeNode nodecur = queue.getFirst();
if (nodecur.left!=null){
tmp.add(nodecur.left);
}
if (nodecur.right!=null){
tmp.add(nodecur.right);
}
queue.removeFirst();
}
cout++;
queue = tmp;
}
return cout;
}