做这题首先要会求二叉树的深度。# Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution: def __init__(self): self.max_diameter 0 def diameterOfBinaryTree(self, root: Optional[TreeNode]) - int: if not root: return 0 self.depth(root) return self.max_diameter def depth(self,node:Optional[TreeNode]) - int: if not node: return 0 left_depth self.depth(node.left) right_depth self.depth(node.right) tree_depth max(left_depth,right_depth)1 current_diameter left_depth right_depth if current_diameter self.max_diameter: self.max_diameter current_diameter return tree_depth