您的位置:首页 > 其它

[leetcode]#111. Minimum Depth of Binary Tree

2017-11-22 10:19 295 查看
输入一个二叉树,输出leaf节点的最小深度

解题思路:分几种情况考虑:1,树为空,则为0。 2,根节点如果只存在左子树或者只存在右子树,则返回值应为左子树或者右子树的(最小深度+1)。 3,如果根节点的左子树和右子树都存在,则返回值为(左右子树的最小深度的较小值+1)。

# Definition for a  binary tree node
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
# @param root, a tree node
# @return an integer
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode