一、题目:
给定一个 N 叉树,找到其最大深度。
最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。
N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。
二、解题思路:
和之前的二叉树深度很像,依次的递归遍历树的每个子树的深度,返回最大值+1(根节点)
三、代码和结果:
class Solution {
public:
int maxDepth(Node* root) {
if(root==0) return 0;
int d =0;
for(int i=0;i<root->children.size();i++){
d=max(d,maxDepth(root->children[i]));
}
return d+1;
}
结果:
延伸链接:二叉树的深度
参考博文:求树的最大深度(详解)