Skip to main content
Back to problems
#1302
Medium Algorithms

Deepest leaves sum

Tree Depth-First Search Breadth-First Search Binary Tree
86.5% acceptance
Feb 27, 2026
4831
126
Given the root of a binary tree, return the sum of values of its deepest leaves.

Solution

Rust
Time O(n²)
Space O(n)
LeetCode
solution.rs
use std::rc::Rc;
use std::cell::RefCell;
impl Solution {
  pub fn deepest_leaves_sum(root: Option<Rc<RefCell<TreeNode>>>) -> i32 {
    if root.is_none() { return 0; }
    let mut queue = std::collections::VecDeque::new();
    queue.push_back(root.unwrap());
    let mut level_sum = 0;
    while !queue.is_empty() {
      let sz = queue.len();
      level_sum = 0;
      for _ in 0..sz {
        let node = queue.pop_front().unwrap();
        let n = node.borrow();
        level_sum += n.val;
        if let Some(l) = n.left.clone() { queue.push_back(l); }
        if let Some(r) = n.right.clone() { queue.push_back(r); }
      }
    }
    level_sum
  }
}