N叉树的最大深度

作者: _阿南_ | 来源:发表于2020-03-05 17:14 被阅读0次

    题目:

    给定一个 N 叉树,找到其最大深度。
    
    最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。
    
    例如,给定一个 3叉树 :
    
    题目
    我们应返回其最大深度,3。
    
    说明:
    
    树的深度不会超过 1000。
    树的节点总不会超过 5000。
    

    题目的理解:

    链表中的每一个节点的children是一个数组,保存着多个节点。将同一级的节点保存到一个数组中,然后判断循环次数就是深度。

    python实现

    """
    # Definition for a Node.
    class Node:
        def __init__(self, val=None, children=None):
            self.val = val
            self.children = children
    """
    class Solution:
        def maxDepth(self, root: 'Node') -> int:
            if root is None:
                return 0
    
            node_list = list()
            node_list.append(root)
            deep = 1
    
            while len(node_list) > 0:
                temp_list = list()
                for node in node_list:
                    if node.children is not None:
                        temp_list += node.children
                        
                node_list = temp_list
                
                if len(node_list) > 0:
                    deep += 1
                    
            return deep
    

    提交

    ok

    // END 你也不要错过我的美丽,今夜的你会在哪里。

    相关文章

      网友评论

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

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