# Definition for a binary tree node.
fromtypingimportOptionalclassTreeNode:def__init__(self,val=0,left=None,right=None):self.val=valself.left=leftself.right=rightclassSolution:defisBalanced(self,root:Optional[TreeNode])->bool:defdfs(node)->int:ifnotnode:return0left_height=dfs(node.left)right_height=dfs(node.right)ifleft_height==-1orright_height==-1 \
orabs(left_height-right_height)>1:return-1returnmax(left_height,right_height)+1returndfs(root)>=0
Leave a comment