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

LeetCode - 559. N 叉樹的最大深度

技術標籤:演算法演算法leetcode

題目

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

思路

遞迴求最大深度。。

複雜度分析

假設樹有 n 個節點。

  • 時間複雜度O(n),遍歷整棵樹。
  • 空間複雜度O(n),空間複雜度與整棵樹的節點數相關。

程式碼

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

    public Node() {}

    public Node(int _val) {
        val = _val;
    }

    public Node(int _val, List<Node> _children) {
        val = _val;
        children = _children;
    }
};
*/
class Solution { private int maxDepth = 0; public int maxDepth(Node root) { if (root == null) { return 0; } int maxSonDepth = 0; for (Node node: root.children) { int sonDepth = maxDepth(node); if (sonDepth > maxSonDepth)
{ maxSonDepth = sonDepth; } } return maxSonDepth + 1; } }