N 叉树的最大深度
此博客链接:https://www.cnblogs.com/ping2yingshi/p/13435292.html
N叉树的最大深度
题目链接:https://leetcode-cn.com/problems/maximum-depth-of-n-ary-tree/submissions/
给定一个 N 叉树,找到其最大深度。
最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。
例如,给定一个 3叉树 :
我们应返回其最大深度,3。
题解:
思路:此题和二叉树的层次遍历一样,只是再进行二叉树的层次遍历时,进队列的是节点的孩子,而不只是左右孩子。
1.先定义一个队列。
2.头节点进队列。
3.头节点出队列,然后把头节点的孩子都进队列。
4.孩子出队列时,把节点所有的孩子都进队列。
5.记录树的层次。
代码如下:
class Solution { public int maxDepth(Node root) { if(root==null) return 0; int len=0; Queue <Node> queue=new LinkedList(); queue.add(root); while(!queue.isEmpty()) { len++; int lengt=queue.size(); for(int i=0;i<lengt;i++) { Node que=queue.poll(); for(Node node:que.children) if(node!=null) queue.add(node); } } return len; } }
出来混总是要还的
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步