Maximum Depth of Binary Tree : 求二叉樹的最大深度
Python
遞歸的方式遍歷二叉樹,通過計算左右子樹的最大深度來求出整棵樹的最大深度。
class Solution(object):
def maxDepth(self, root):
if not root :
return 0
return max(self.maxDepth(root.left),self.maxDepth(root.right))+1
C++
遞歸法
定義 maxDepth 函數來計算二叉樹的最大深度。如果二叉樹為空,那麼它的深度為0,我們返回0。否則,我們遞歸地計算左子樹和右子樹的最大深度。我們將它們的深度取最大值,然後再加上根節點的深度 1,即為二叉樹的最大深度。
時間複雜度:O(n)
間複雜度為 O(logn)。
public:
int maxDepth(TreeNode* root) {
if (root == nullptr) {
return 0;
}
int left_depth = maxDepth(root->left);
int right_depth = maxDepth(root->right);
return max(left_depth, right_depth) + 1;
}
};