题目:
给定一个 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
提交

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