美文网首页
刷题--leetcode559.N叉树的最大深度

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

作者: 沉睡中勿扰 | 来源:发表于2021-11-21 23:31 被阅读0次

    题目

    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叉树的最大深度

          本文链接:https://www.haomeiwen.com/subject/shdvtrtx.html