__author__ = 'winterhouse'
# Definition for a binary tree node
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def minDepth(self, root):
return treeDepth(root, 0)
def treeDepth(tree,depth):
if tree == None:
return 0
if tree.left == None and tree.right == None:
return 1
leftDepth = rightDepth = 0
if tree.left != None:
leftDepth=treeDepth(tree.left,depth)
if tree.right != None:
rightDepth=treeDepth(tree.right,depth)
if leftDepth > 0 and rightDepth > 0:
return min(leftDepth, rightDepth) + 1
elif leftDepth > 0:
return leftDepth + 1
else:
return rightDepth + 1
二叉树最浅深度,需要注意的是深度的定义是根节点到叶子节点,首先要确定终点是叶子节点,然后同样用递归和分治处理问题。
leetcode minimum depth(binary tree)
最新推荐文章于 2019-10-10 21:42:22 发布