leetcode 111 二叉樹的最小深度 --python3
阿新 • • 發佈:2018-12-20
給定一個二叉樹,找出其最小深度。
最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。
說明: 葉子節點是指沒有子節點的節點。
示例:
給定二叉樹 [3,9,20,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
返回它的最小深度 2.
解析:最小深度,到達葉子節點的最小深度
# 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): """ :type root: TreeNode :rtype: int """ l,r=0,0 if root==None: return 0 elif root.left == root.right == None: return 1 else: if root.left!=None and root.right!=None: l = 1 + self.minDepth(root.left) r = 1 + self.minDepth(root.right) return min(l,r) elif root.right!=None: r = 1 + self.minDepth(root.right) return r else: l = 1 + self.minDepth(root.left) return l