[Solved] Given the root of a binary tree, return the sum of values of its deepest leaves.

Table of Contents

Question

Given the root of a binary tree, return the sum of values of its deepest leaves.

Example 1:

Input: root = [1,2,3,4,5,null,6,7,null,null,null,null,8]
Output: 15

Example 2:

Input: root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5]
Output: 19

Constraints:

  • The number of nodes in the tree is in the range [1, 104].
  • 1 <= Node.val <= 100

Python Solution

def height(root):
    if root==None:return 0
    return 1 + max(height(root.left),height(root.right))

def traverse(root,ch,wh):
    global s
    if root==None:return
    if 1+ch==wh:
        s+=root.val
    traverse(root.left,ch+1,wh)
    traverse(root.right,ch+1,wh)
    
class Solution:
    def deepestLeavesSum(self, root: TreeNode) -> int:
        global s
        s = 0
        h = height(root)
        traverse(root,0,h)
        return s

Leave a Reply

Your email address will not be published. Required fields are marked *