/*
// Definition for a Node.
class Node {
public:
int val;
vector<Node*> children;
Node() {}
Node(int _val) {
val = _val;
}
Node(int _val, vector<Node*> _children) {
val = _val;
children = _children;
}
};
*/
class Solution {
public:
int maxDepth(Node* root) {
if(root == NULL) return 0;
int dept = 0;
for (int i = 0;i < root->children.size();i++){
dept = max (dept,maxDepth(root -> children[i]));
}
return 1 + dept;
}
};
先循环遍历有多少个子节点,再将节点深度遍历,最后将深度最深的加上根节点返回即可