# Definition for a binary tree node.
fromtypingimportOptionalclassTreeNode:def__init__(self,val=0,left=None,right=None):self.val=valself.left=leftself.right=rightclassSolution:def__init__(self):self.longest=0defdiameterOfBinaryTree(self,root:Optional[TreeNode])->int:defdfs(node:TreeNode)->int:ifnotnode:return-1left=dfs(node.left)right=dfs(node.right)self.longest=max(self.longest,left+right+2)# ๊ฑฐ๋ฆฌ
returnmax(left,right)+1# ์ํ๊ฐ
dfs(root)returnself.longest
Leave a comment