LeetCode 104. Maximum Depth of Binary Tree

题目

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.

分析

求二叉树的最大深度

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 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
"""
return (1 + max(map(self.maxDepth, (root.left, root.right)))) if root else 0

点评

利用 map() 函数深度优先遍历,1 行代码递归解决,最大深度等于 1+左右子树的最大高度