1. 程式人生 > >559. N叉樹的最大深度

559. N叉樹的最大深度

559.N叉樹的最大深度

給定一個N叉樹,找到其最大深度。

最大深度是指從根節點到最遠葉子節點的最長路徑上的節點總數。

例如,給定一個 3叉樹 : 在這裡插入圖片描述

我們應返回其最大深度,3。

說明:

  1. 樹的深度不會超過 1000。
  2. 樹的節點總不會超過 5000。

分析: 使用遞迴,每個節點處找到其孩子的最大深度,加一。

/*
// Definition for a Node.
class Node {
public:
    int val;
    vector<Node*> children;

    Node() {}

    Node(int _val, vector<Node*> _children) {
        val = _val;
        children = _children;
    }
};
*/
class Solution { public: int maxDepth(Node* root) { if(root==NULL) return 0; int max=0; for(int i=0;i<root->children.size();i++) { max=std::max(max,maxDepth(root->children[i])); } return 1+max; } };