LeetCode 559. N 叉树的最大深度

Posted 数据结构和算法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 559. N 叉树的最大深度相关的知识,希望对你有一定的参考价值。

截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载
下载链接https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ
提取码:6666




来看下代码

public int maxDepth(Node root) {
    if (root == null)
        return 0;
    //当前节点子节点的个数
    int size = root.children.size();
    int max = 0;
    //递归计算所有子节点的深度,保留最大值
    for (int i = 0; i < size; i++) {
        max = Math.max(max, maxDepth(root.children.get(i)));
    }
    //当前树的最大深度就是子节点的最大深度加上1
    return max + 1;
}



来看下代码

public int maxDepth(Node root) {
    if (root == null)
        return 0;
    Queue<Node> queue = new LinkedList<>();
    queue.offer(root);
    int depth = 0;
    while (!queue.isEmpty()) {
        //到下一层了,深度要加1
        depth++;
        //levelCount是当前层的节点数,
        int levelCount = queue.size();
        for (int i = 0; i < levelCount; i++) {
            //当前层的每一个节点都要出队,然后再
            //把他们的子节点加入到队列中
            Node current = queue.poll();
            for (Node child : current.children)
                queue.offer(child);
        }
    }
    return depth;
}

以上是关于LeetCode 559. N 叉树的最大深度的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode Algorithm 559. N 叉树的最大深度

LeetCode Algorithm 559. N 叉树的最大深度

LeetCode 559. N 叉树的最大深度

LeetCode559 N叉树的最大深度

559.N叉树的最大深度(LeetCode)

leetcode559 Python3 128ms N叉树的最大深度