104.二叉树的最大深度
解法1. 递归
思路: 二叉树的最大深度 = 左右子树的最大深度的最大值 + 1
class Solution(object):
def maxDepth(self, root):
if not root:
return 0
else:
return 1 + max(self.maxDepth(root.left), self.maxDepth(root.right))
111.二叉树的最小深度
解法1. 递归
思路: 二叉树的最小深度为左右子树最小深度的最小值 + 1
class Solution(object):
def minDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
if not root:
return 0
if not root.left:
return 1 + self.minDepth(root.right)
if not root.right:
return 1 + self.minDepth(root.left)
return 1 + min(self.minDepth(root.right), self.minDepth(root.left))