366 Find Leaves of Binary Tree
Example:
Given binary tree
1
/ \
2 3
/ \
4 5
Returns [4, 5, 3], [2], [1]. 1
/
2 1 []Last updated
Example:
Given binary tree
1
/ \
2 3
/ \
4 5
Returns [4, 5, 3], [2], [1]. 1
/
2 1 []Last updated
def findLeaves(self, root):
"""
:type root: TreeNode
:rtype: List[List[int]]
"""
heights = collections.defaultdict(list)
def dfs(root):
if not root:
return -1
height = 1 + max(dfs(root.left), dfs(root.right))
heights[height].append(root.val)
return height
if not root:
return []
dfs(root)
return [heights[lvl] for lvl in range(0, len(heights))]