107 N叉树的最大深度

发布时间:2024年01月06日

问题描述:给定一个N叉树,找到其最大深度,最大深度是指从根节点到最远叶子节点的最长路径上的结点总数,N叉树输入按层序遍历序列化表示,每组子节点由控制分割。

DFS求解:在全局定义一个level层级,用以更新遍历到的最大层级。

int maxLevel=Integer.MIN_VALUE;
public void level(Node root,int level)
{
if(root==null){return;}
else
{
mavLevel=Math.max(level,maxLevel);
for(int i=0;i<root.children.size();i++)
{
level(root.children[i],level+1);
}
}
}
public int MaxLevel(Node root)
{
level(root,1);
???????return maxLevel;
}

bfs求解:从国一层一层的遍历,并记录最大层数。

public int maxLevel(Node root)
{
queue<Node>queue=new LinkedList<>();
queue.add(root);
int MaxLevel=0;
while(!queue.isEmpty())
{
int queueSize=queue.size();
for(int i=0;i<queueSize;i++)
{
Node tempNode=queue.poll();
for(int i=0;i<tempNode.children.size();i++)
{
if(tempNode.children[i]!=null){queue.add(tempNode.children[i]);}
}
}
MaxLevel++;

}
???????return MaxLevel;
}

文章来源:https://blog.csdn.net/qq_52299902/article/details/135422734
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。