N 叉树的最大深度

2021-11-21  本文已影响0人  xialu

来源:力扣(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);
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读