leetcode_gym/_problems/deepestLeavesSumDFS.md
2026-08-25 19:14:07 -06:00

1.3 KiB

layout, title, last_solved, category, leetcode_url, status
layout title last_solved category leetcode_url status
page Deepest Leaves Sum (DFS) 2020-07-17 trees https://leetcode.com/problems/deepest-leaves-sum/ Solved
Given a binary tree, return the sum of values of its deepest leaves.

{% highlight python %}

class TreeNode:

def __init__(self, val):

    self.val = val
    self.left = None
    self.right = None

def deepestLeavesSum(root):

map = {}

def dfs(root, depth):

    map[depth] = root.val + map.get(depth, 0)

    if root.left:
        dfs(root.left, depth+1)
    if root.right:
        dfs(root.right, depth+1)
    

dfs(root, 0)
return map[max(map)]

root = TreeNode(1) root.left = TreeNode(2) root.right = TreeNode(3) root.left.left = TreeNode(4) root.left.right = TreeNode(5)

print deepestLeavesSum(root)

{% endhighlight %}


{% highlight python %}

def deepestLeavesSum(self, root: TreeNode) -> int:

lookup = defaultdict(int)

def dfs(node, level):
    
    if not node:
        return
    
    lookup[level] = lookup[level]+node.val
    
    dfs(node.left, level+1)
    dfs(node.right, level+1)
    
dfs(root, 0)

print(lookup)

return lookup[max(lookup)]

{% endhighlight %}

image1