美文网首页
N 叉树的最大深度

N 叉树的最大深度

作者: xialu | 来源:发表于2021-11-21 22:49 被阅读0次

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/maximum-depth-of-n-ary-tree

    题目描述:

    给定一个 N 叉树,找到其最大深度。
    最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。
    N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。

    示例 1:

    输入:root = [1,null,3,2,4,null,5,6]
    输出:3

    示例 2:

    输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]
    输出:5

    思路:

    直接深度遍历即可.

    代码实现:
    class Solution {
        public int maxDepth(Node root) {
            return dfs(root);
        }
        public int dfs(Node root) {
            if (root == null) return 0;
            int idx = 0;
            for (Node node : root.children) {
                idx = Math.max(idx, dfs(node));
            }
            return idx + 1;
        }
    }
    
    class Solution {
        public int result = 0;
        public int maxDepth(Node root) {
            dfs(root, 1);
            return result;
        }
        public void dfs(Node root, int idx) {
            if (root == null) return;
            if (root.children == null || root.children.size() == 0) {
                if (idx > result) result = idx;
                return;
            }
            for (Node node : root.children) {
                dfs(node, idx + 1);
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:N 叉树的最大深度

          本文链接:https://www.haomeiwen.com/subject/gutvtrtx.html