
									 Problem
								
								
									 Solution
								
								
									 Submissions
								
								
							Binary Tree Maximum Path Sum
								Certification: Advanced Level
								Accuracy: 0%
								Submissions: 0
								Points: 15
							
							Write a C program to find the maximum path sum in a binary tree. A path is defined as any route along parent-child connections from some starting node to any ending node. The path must contain at least one node and does not need to go through the root.
Example 1
- Input: root = [1,2,3]
 - Output: 6
 - Explanation: 
- Tree structure: 1 is root, 2 and 3 are its children. 
 - Possible paths: [2], [1], [3], [2,1], [1,3], [2,1,3]. 
 - Path [2,1,3] gives maximum sum: 2 + 1 + 3 = 6. 
 - Therefore, maximum path sum is 6.
 
 - Tree structure: 1 is root, 2 and 3 are its children. 
 
Example 2
- Input: root = [-10,9,20,null,null,15,7]
 - Output: 42
 - Explanation: 
- Tree has -10 as root, 9 and 20 as children of root, 15 and 7 as children of 20. 
 - The optimal path is [15,20,7] which doesn't include the root. 
 - Path sum: 15 + 20 + 7 = 42. 
 - Therefore, maximum path sum is 42.
 
 - Tree has -10 as root, 9 and 20 as children of root, 15 and 7 as children of 20. 
 
Constraints
- The number of nodes in the tree is in the range [1, 3 * 10^4]
 - -1000 ≤ Node.val ≤ 1000
 - Time Complexity: O(n) where n is number of nodes
 - Space Complexity: O(h) where h is height of tree (recursion stack)
 
Editorial
									
												
My Submissions
										All Solutions
									| Lang | Status | Date | Code | 
|---|---|---|---|
| You do not have any submissions for this problem. | |||
| User | Lang | Status | Date | Code | 
|---|---|---|---|---|
| No submissions found. | ||||
Solution Hints
- Use post-order traversal to process children before parent nodes
 - For each node, calculate maximum path sum that ends at that node
 - Consider three cases: path through left child, path through right child, or path through both children
 - Keep track of global maximum path sum encountered during traversal
 - Return the maximum single-branch path sum to parent for further calculations
 - Handle negative path sums by choosing 0 instead (don't include negative branches)