Most Frequent Subtree Sum LeetCode solution in Python

1
# Definition for a binary tree node.
2
# class TreeNode:
3
# def __init__(self, val=0, left=None, right=None):
4
# self.val = val
5
# self.left = left
6
# self.right = right
7
class Solution:
8
def findFrequentTreeSum(self, root: Optional[TreeNode]) -> List[int]:
9
def dfs(root):
10

11
if not root:
12
return 0
13

14
l = dfs(root.left)
15
r = dfs(root.right)
16
res = root.val + l + r
17

18
d[res] += 1
19
return res
20

21
d = collections.Counter()
22
dfs(root)
23
maxi = max(d.values())
24
return [i for i in d if d[i] == maxi]
25

26

27
# An Upvote will be encouraging

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0