给定一个 N 叉树,找到其最大深度。
返回最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。
例如,给定一个3叉树
:
我们应返回其最大深度,3。
说明:
树的深度不会超过 1000。
树的节点总不会超过 5000。
Mycode:
/*
// 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) { //返回以root为根的树最大深度
if(root==NULL)return 0;
int num=root->children.size();
if(num==0) return 1;
vector<int> a;
for(int i=0;i<num;i++)
{
a.push_back(maxDepth(root->children[i]));
}
for(int x:a)
{
if(x>a[0])a[0]=x;
}
return a[0]+1;
}
};