二叉树的最小深度Python解法
生活随笔
收集整理的這篇文章主要介紹了
二叉树的最小深度Python解法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
給定一個二叉樹,找出其最小深度。
最小深度是從根節(jié)點到最近葉子節(jié)點的最短路徑上的節(jié)點數(shù)量。
說明:葉子節(jié)點是指沒有子節(jié)點的節(jié)點。
例:
?
輸入:root = [3,9,20,null,null,15,7] 輸出:2解析:
遞歸找出左右字數(shù)中深度淺的那一個,然后在加一即可。
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution(object):def minDepth(self, root):""":type root: TreeNode:rtype: int"""if root: # 判斷根節(jié)點是否存在if root.left and root.right: # 左右節(jié)點都存在return 1+min(self.minDepth(root.left), self.minDepth(root.right))elif root.left: # 只有左節(jié)點return 1+self.minDepth(root.left)elif root.right: # 只有右節(jié)點return 1+self.minDepth(root.right)else: # 沒有字節(jié)點return 1return 0 # 沒有根節(jié)點總結
以上是生活随笔為你收集整理的二叉树的最小深度Python解法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: decimal是什么类型
- 下一篇: 杨辉三角Python解法