二叉树的最大深度 非递归算法
可以帮我看一下吗 为什么通过不了 我的queue有初始化化呀
public int TreeDepth(TreeNode pRoot)
{
// write code here
Queue queue=new Queue<TreeNode>();
if(pRoot==null)
{
return 0;
}
queue.Enqueue(pRoot);//把根结点添加到队列中
int depth = 0, count = 0, nextCount = 1;
while(queue.Count!=0)
{
TreeNode top = queue.First();//得到该队列的第一个元素
queue.Dequeue();//移除该队列的第一元素
count++;
if(top.left!=null)
{
queue.Enqueue(top.left);
}
if(top.right!=null)
{
queue.Enqueue(top.right);
}
if(count==nextCount)
{
nextCount = queue.Count;
count = 0;
depth++;
}
}
return depth;
#小米#{
// write code here
Queue queue=new Queue<TreeNode>();
if(pRoot==null)
{
return 0;
}
queue.Enqueue(pRoot);//把根结点添加到队列中
int depth = 0, count = 0, nextCount = 1;
while(queue.Count!=0)
{
TreeNode top = queue.First();//得到该队列的第一个元素
queue.Dequeue();//移除该队列的第一元素
count++;
if(top.left!=null)
{
queue.Enqueue(top.left);
}
if(top.right!=null)
{
queue.Enqueue(top.right);
}
if(count==nextCount)
{
nextCount = queue.Count;
count = 0;
depth++;
}
}
return depth;