Skip to content

Commit 020bffb

Browse files
committed
updated code for average_of_levels_binary_tree
1 parent c0ccab7 commit 020bffb

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

leetcode/patterns/07-tree-bfs/04_average_of_levels_binary_tree.py

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,29 @@ def averageOfLevels(self, root):
2020
q.append(node.right)
2121
res.append(total / count)
2222

23-
return res
23+
return res
24+
25+
class Solution2:
26+
def averageOfLevels(self, root):
27+
levels = []
28+
self.helper(root, levels, 0)
29+
30+
# res = [level_obj["sum"] / level_obj["count"] for level_obj in levels]
31+
res = []
32+
for level_obj in levels:
33+
avg = level_obj["sum"] / level_obj["count"]
34+
res.append(avg)
35+
36+
return res
37+
38+
def helper(self, node, levels, level):
39+
if node is None: return
40+
41+
if level == len(levels):
42+
levels.append({ "sum": node.val, "count": 1 })
43+
else:
44+
levels[level]["sum"] += node.val
45+
levels[level]["count"] += 1
46+
47+
self.helper(node.left, levels, level + 1)
48+
self.helper(node.right, levels, level + 1)

0 commit comments

Comments
 (0)