Leetcode Sum Root to Leaf Numbers Java Solution
// SOLVING THIS WITH AN AI ASSISTANT (2026)
If you are working through this problem with an AI coding assistant — Claude, ChatGPT, Cursor chat, Gemini, GitHub Copilot, Aider, or any agent — the goal isn’t to ask for the answer. It is to use the tool to understand the pattern. The prompt sequence I’d run:
- Spec it back to me first. “In your own words, what is this problem actually testing? What’s the smallest example that fails the naive approach?”
- Brute-force first, optimize after. “Write the simplest correct solution, even if it’s O(n²). Don’t optimize. Just make it correct, with comments explaining each step.”
- Ask for the upgrade. “Now show me the optimal solution. What insight makes it possible? What pattern is this an instance of?”
- Stress-test it. “Generate 10 edge cases — empty input, single element, duplicates, max size, sorted, reverse-sorted. Run my solution against each.”
The pattern matters more than the answer. If the agent just hands you optimized code, you’ve trained yourself to lose interviews.
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.
An example is the root-to-leaf path 1->2->3 which represents the number 123.
Find the total sum of all root-to-leaf numbers.
Note: A leaf is a node with no children.
Example:
Input: [1,2,3]
1
/ \
2 3
Output: 25
Explanation:
The root-to-leaf path 1->2 represents the number 12.
The root-to-leaf path 1->3 represents the number 13.
Therefore, sum = 12 + 13 = 25.
Example 2:
Input: [4,9,0,5,1]
4
/ \
9 0
/ \
5 1
Output: 1026
Explanation:
The root-to-leaf path 4->9->5 represents the number 495.
The root-to-leaf path 4->9->1 represents the number 491.
The root-to-leaf path 4->0 represents the number 40.
Therefore, sum = 495 + 491 + 40 = 1026.
Solution Using DFS:
We will DFS(Depth First Search) to find the numbers and add them to the sum, the time complexity would be O(N).
class HackerHeap {
public int sumNumbers(TreeNode root) {
if (root == null) return 0;
return dfs(root, 0, 0);
}
public int dfs(TreeNode node, int num, int sum) {
if(node == null) return sum;
num = num*10 + node.val;
if(node.left == null && node.right == null) {
return sum+=num;
}
return dfs(node.left, num, sum) + dfs(node.right, num, sum);
}
}
In this video explanation we will solve Leetcode Sum Root to Leaf Numbers Java Solution
For the AI-native engineering side of HackerHeap — building MCP servers, comparing agents (Claude Code, Cursor, Windsurf, Codex, Gemini, Copilot), and weekly working code — see the Friday Build newsletter and the MCP archive.