Binary Tree Maximum Path Sum - Problem
A path in a binary tree is a sequence of nodes where each pair of adjacent nodes in the sequence has an edge connecting them. A node can only appear in the sequence at most once. Note that the path does not need to pass through the root.
The path sum of a path is the sum of the node's values in the path.
Given the root of a binary tree, return the maximum path sum of any non-empty path.
Input & Output
Example 1 — Basic Tree with Positive Values
$
Input:
root = [1,2,3]
›
Output:
6
💡 Note:
The optimal path is 2 → 1 → 3 with sum = 2 + 1 + 3 = 6
Example 2 — Tree with Negative Values
$
Input:
root = [-10,9,20,null,null,15,7]
›
Output:
42
💡 Note:
The optimal path is 15 → 20 → 7 with sum = 15 + 20 + 7 = 42
Example 3 — Single Node
$
Input:
root = [-3]
›
Output:
-3
💡 Note:
The tree has only one node, so the maximum path sum is -3
Constraints
- The number of nodes in the tree is in the range [1, 3 × 104]
- -1000 ≤ Node.val ≤ 1000
Visualization
Tap to expand
Understanding the Visualization
1
Input Tree
Binary tree with node values (can be negative)
2
Find All Paths
Consider paths between any two nodes in the tree
3
Maximum Sum
Return the path with the highest sum
Key Takeaway
🎯 Key Insight: Use DFS to calculate maximum path through each node, tracking the global maximum
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code