Binary Tree Maximum Path Sum
Hard
Dynamic Programming
Tree
Depth-First Search
Binary Tree
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 path*.
Example 1
Input: root = [1,2,3]
Output: 6
Example 2
Input: root = [-10,9,20,null,null,15,7]
Output: 42
Example 3
Input: root = [-3]
Output: -3

Constraints

  • The number of nodes in the tree is in the range [1, 3 * 10⁴].
  • -1000 <= Node.val <= 1000
Time Complexity
O(n)
Space Complexity
O(h)
14
Case 1
Input: [1,2,3]
Expected: 6
Case 2
Input: [-10,9,20,null,null,15,7]
Expected: 42
Case 3
Input: [-3]
Expected: -3