Maximum Sum BST in Binary Tree

Given a binary tree root, return the maximum sum of all keys of any subtree which is also a Binary Search Tree (BST).

Assume a BST is defined as follows:

  • The left subtree of a node contains only nodes with keys less than the node's key.
  • The right subtree of a node contains only nodes with keys greater than the node's key.
  • Both the left and right subtrees must also be binary search trees.
Example 1
          1
        /   \
       4     3
      / \   / \
     2   4 2   5
              / \
             4   6
Inputroot = [1,4,3,2,4,2,5,null,null,null,null,null,null,4,6]
Output20
Maximum sum in a valid Binary Search Tree is obtained in the subtree rooted at the node with key equal to 3.
Example 2
      4
     /
    3
   / \
  1   2
Inputroot = [4,3,null,1,2]
Output2
Maximum sum in a valid Binary Search Tree is obtained in a single-node subtree with key equal to 2.

Constraints

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

Asked at 5 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate