Leetcode•Jun 01, 2025
Sum Root to Leaf Numbers
Hazrat Ali
Leetcode
You are given the root of a binary tree containing digits from 0 to 9 only.
Each root-to-leaf path in the tree represents a number.
- For example, the root-to-leaf path
1 -> 2 -> 3represents the number123.
Return the total sum of all root-to-leaf numbers. Test cases are generated so that the answer will fit in a 32-bit integer.
A leaf node is a node with no children.
Example 1:
Input: root = [1,2,3] Output: 25 Explanation: The root-to-leaf path1->2represents the number12. The root-to-leaf path1->3represents the number13. Therefore, sum = 12 + 13 =25.
Example 2:
Input: root = [4,9,0,5,1] Output: 1026 Explanation: The root-to-leaf path4->9->5represents the number 495. The root-to-leaf path4->9->1represents the number 491. The root-to-leaf path4->0represents the number 40. Therefore, sum = 495 + 491 + 40 =1026.
Solution
/**
* @param {TreeNode} root
* @return {number}
*/
const sumNumbers = root => {
return helper(root, 0);
};
const helper = (node, sum) => {
if (!node) {
return 0;
}
const { left, right } = node;
sum = 10 * sum + node.val;
if (!left && !right) {
return sum;
}
return helper(left, sum) + helper(right, sum);
};