class Solution:
def findLeaves(self, root: Optional[TreeNode]) -> List[List[int]]:
ans = []
def dfs(root):
if not root:
return -1
left = dfs(root.left)
right = dfs(root.right)
h = max(left, right) + 1
if len(ans) == h:
ans.append([])
ans[h].append(root.val)
return h
dfs(root)
return ans