Level, Height, Depth¶
Categorize¶
543. Diameter of Binary Tree (Easy)¶
def diameterOfBinaryTree(self, root: Optional[TreeNode]) -> int:
def recursion(root):
if root:
nonlocal diameter
left_height = recursion(root.left)
right_height = recursion(root.right)
diameter = max(diameter, left_height + right_height)
return max(left_height, right_height) + 1
return 0
diameter = 0
recursion(root)
return diameter
366. Find Leaves of Binary Tree (Medium)¶
def findLeaves(self, root: Optional[TreeNode]) -> List[List[int]]:
def recursion(node):
if node:
left_height = recursion(node.left)
right_height = recursion(node.right)
height = max(left_height, right_height) + 1
hm[height].append(node.val)
return height
return 0
hm = defaultdict(list)
recursion(root)
return list(hm.values())