0. 题目
1. 递归 o(n) o(height)
时间复杂度 树的每个节点都要遍历,因为对于每个节点的深度,都要遍历左右子树,得到左右节点的深度。
空间复杂度 栈的深度。
# 最小深度:节点个数。
class Solution:
def minDepth(self, root):
# 注意:如果5个结点是在一边,那就是5,而不是1。
if not root: return 0
if not root.left: #左子树不存在
return self.minDepth(root.right)+1 #右子树深度+1
if not root.right: #右子树不存在
return self.minDepth(root.left)+1 #左子树深度+1
return min(self.minDepth(root.left),self.minDepth(root.right))+1