精華區beta Marginalman 關於我們 聯絡資訊
※ 引述《abcd991276 (QQ)》之銘言: : 543. Diameter of Binary Tree : 題目要算樹最遠兩個節點的間隔 : 我就爛遞迴算樹左右高然後加起來 : 再遞迴把整個樹的節點都算一次 : 超慢速才贏6.96% 都忘記函數裡面可以宣告函數還在用java思維寫 思路: 1.遍歷一次每次用節點數更新res pycode ------------------------------------------- class Solution: def __init__(self): self.res = 0 def diameterOfBinaryTree(self, root: Optional[TreeNode]) -> int: self.dfs(root) return self.res def dfs(self, root: Optional[TreeNode]): if root is None: return 0 l = self.dfs(root.left) r = self.dfs(root.right) self.res = max(self.res, l + r) return max(l, r) + 1 ------------------------------------------- -- https://i.imgur.com/4nfnn6f.jpg -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.139.32.16 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1709012404.A.F67.html
JIWP: 大師 02/27 13:46
sustainer123: 大師 02/27 13:54
digua: 大師 02/27 13:59
abcd991276: 大師 02/27 15:46