Practice Problem

Binary Tree Maximum Path Sum

Difficulty: Hard

Given the root of a binary tree, return the maximum path sum where a path is any sequence of connected nodes (not necessarily passing through the root).

Binary Tree Maximum Path Sum

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 values in the path.

Given the root of a binary tree, return the maximum path sum of any non-empty path.

Examples

Example 1:

Input: root = [1, 2, 3]
Output: 6
Explanation: The optimal path is 2 -> 1 -> 3 with a sum of 6.

    1
   / \
  2   3

Example 2:

Input: root = [-10, 9, 20, null, null, 15, 7]
Output: 42
Explanation: The optimal path is 15 -> 20 -> 7 with a sum of 42.

      -10
      / \
     9  20
        / \
       15   7

Constraints

  • The number of nodes in the tree is in the range [1, 3 * 10^4].
  • -1000 <= Node.val <= 1000

Expected Complexity

  • Time: O(n)
  • Space: O(h) where h is the height of the tree
HARD
Binary Tree
DFS
Recursion
Dynamic Programming
Advanced

0 views

Solution

Hints

Hint 1
Hint 2
Premium
Hint 3
Premium
Hint 4
Premium