问题描述
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/