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 6Input
root = [1,4,3,2,4,2,5,null,null,null,null,null,null,4,6]Output
20Maximum 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 2Input
root = [4,3,null,1,2]Output
2Maximum 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