LeetCode - 559. N 叉樹的最大深度
阿新 • • 發佈:2020-12-29
題目
給定一個 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;
}
}