刷题--leetcode559.N叉树的最大深度

题目

N叉树的最大深度

给定一个 N 叉树,找到其最大深度。

最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。

N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔。

解法

解法还算简单,一棵树,直接去深度优先遍历,然后算出最长的一棵树。即可找到最深的一棵树。
加一个参数,深度,即可算出最大深度。

代码

class Solution {
public:
    int dfs(Node* node) {
        if (node == nullptr)
            return 0;

        int ans = 1;
        for (int i = 0; i < node->children.size(); i++)
            ans = max(ans, dfs(node->children[i]) + 1);
        return ans;
    }
    int maxDepth(Node* root) {
       return dfs(root);  
    }
};

感悟

还是简单的深度优先的思路,加一个返回值。结束。

你可能感兴趣的:(刷题--leetcode559.N叉树的最大深度)