366. Find Leaves of Binary Tree
https://leetcode.com/problems/find-leaves-of-binary-tree/
DFS 记录当前Node的高度,每个高度相同的node被group到一起
from collections import defaultdict
class Solution:
def findLeaves(self, root: TreeNode) -> List[List[int]]:
res = []
d = defaultdict(list)
def dfs(node):
if node == None:
return 0
leftHeight = dfs(node.left)
rightHeight = dfs(node.right)
currHeight = max(leftHeight,rightHeight)+1
d[currHeight].append(node.val)
return currHeight
dfs(root)
for v in d.values():
res.append(v)
return res
Last updated
Was this helpful?