問題描述
Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
Note: A leaf is a node with no children.
給定一個二叉樹,求它的最大深度。
最大深度是從根節點到最遠葉節點的最長路徑上的節點數。
注意:葉節點是沒有子節點的節點。
給定一個二叉樹 [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回的深度 depth = 3.
Python 實現
# Definition for a binary tree node.
class TreeNode(object):
def __init__(self, x):
self.val = x
self.left = None
self.right = None
class Solution(object):
def maxDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
if root == None:
return 0
left_depth = self.maxDepth(root.left)
right_depth = self.maxDepth(root.right)
return (left_depth+1) if left_depth > right_depth else (right_depth+1)
鏈接:https://leetcode.com/problems/maximum-depth-of-binary-tree/