package com.niuke;
import java.util.LinkedList;
import java.util.Queue;
/**
* Created by admin on 2018/3/6.
*/
public class DeepTree {
public int TreeDepth2(TreeNode root) {
if(root==null) {
return 0;
}
int left=TreeDepth(root.left);
int right=TreeDepth(root.right);
return Math.max(left,right)+1;
}
public int TreeDepth(TreeNode root) {
if(root==null) {
return 0;
}
Queue<TreeNode> queue=new LinkedList<TreeNode>();
queue.add(root);
int depth=0;
int count=0;
int lastcount=1;
while(queue.size()!=0) {
TreeNode head=queue.poll();
count++;
if(head.left!=null) {
queue.add(head.left);
}
if(head.right!=null) {
queue.add(head.right);
}
if(count==lastcount) {
lastcount=queue.size();
depth++;
count=0;
}
}
return depth;
}
}