111. Minimum Depth of Binary Tre
2017-11-11 本文已影响0人
xiaoyaook
给一个二叉树,找到最小深度
分几种情况,
- 如果树为空,则返回0
- 如果只存在左子树或者只存在右子树,则返回值应为左子树或者右子树的(最小深度+1)
- 如果根节点的左子树和右子树都存在,则返回值为(左右子树的最小深度的较小值+1)
class Solution:
def minDepth(self, root):
if root == None:
return 0
if root.left == None and root.right != None:
return self.minDepth( root.right ) + 1
if root.left != None and root.right == None:
return self.minDepth( root.left ) + 1
return min( self.minDepth( root.left ), self.minDepth( root.right ) ) + 1