https://leetcode-cn.com/problems/maximum-depth-of-n-ary-tree/
题目
给定一个 N 叉树,找到其最大深度。
最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。
N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔。
思路1
其实对于二(N)叉树的这种基础题,只要用递归把问题建模出来就好。相比于二叉树而言,N叉树会多个用list存每个结点全部子节点的步骤:
int maxDepth(Node* root) {
if (root == nullptr) {
return 0;
}
int maxChildDepth = 0;
vector<Node *> children = root->children;
for (auto child : children) {
int childDepth = maxDepth(child);
maxChildDepth = max(maxChildDepth, childDepth);
}
return maxChildDepth + 1;
}