12/100. Diameter of Binary Tree
生活随笔
收集整理的這篇文章主要介紹了
12/100. Diameter of Binary Tree
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
給定一個二叉樹,找出其中的最長路徑(不一定經(jīng)過根節(jié)點)。
從葉節(jié)點計算,“greater”用來記錄左、右子樹的最大深度,“greater+1”則是當(dāng)前根節(jié)點的深度,“temp”為全局變量,用來記錄最長路徑。
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = Noneclass Solution:def __init__(self):self.temp = 0def diameterOfBinaryTree(self, root):""":type root: TreeNode:rtype: int"""self.helper(root)return self.tempdef helper(self, root):if not root:return 0leftDepth = self.helper(root.left)rightDepth = self.helper(root.right)greater = leftDepth if leftDepth>=rightDepth else rightDepthself.temp = max(self.temp, leftDepth+rightDepth)return greater+1 #返回深度總結(jié)
以上是生活随笔為你收集整理的12/100. Diameter of Binary Tree的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matplotlib - 极坐标上的散点
- 下一篇: 13/100. Best Time to