543. Diameter of Binary Tree
solution
class Solution:
def __init__(self):
self.res = 0
def diameterOfBinaryTree(self, root: Optional[TreeNode]) -> int:
self.dfs(root)
return self.res # 注意最终要输出过程中最大的需要一个额外global变量
def dfs(self, root): # 注意因为返回的因素,需要额外定义一个dfs
if not root:
return 0
l = self.dfs(root.left)
r = self.dfs(root.right)
self.res = max(l + r, self.res)
return max(l, r) + 1follow up
Last updated