#339
Medium Algorithms Nested list weight sum
Depth-First Search Breadth-First Search
85.9% acceptance
Mar 31, 2026
1871
487
You are given a nested list of integers nestedList. Each element is either an integer or a list whose elements may also be integers or other lists.
The depth of an integer is the number of lists that it is inside of. For example, the nested list [1,[2,2],[[3],2],1] has each integer's value set to its depth.
Return the sum of each integer in nestedList multiplied by its depth.
Solution
Rust
Time O(n)
Space O(n)
// #[derive(Debug, PartialEq, Eq)]
// pub enum NestedInteger {
// Int(i32),
// List(Vec<NestedInteger>)
// }
impl Solution {
pub fn depth_sum(nested_list: Vec<NestedInteger>) -> i32 {
fn dfs(list: &[NestedInteger], depth: i32) -> i32 {
let mut sum = 0;
for item in list {
match item {
NestedInteger::Int(v) => sum += v * depth,
NestedInteger::List(inner) => sum += dfs(inner, depth + 1),
}
}
sum
}
dfs(&nested_list, 1)
}
}