给定二叉树根节点,任务是返回所有子树中键值和最大且也是二叉搜索树(BST)的子树。
假设BST的定义如下:
- 节点的左子树仅包含键值小于该节点键值的节点。
- 节点的右子树仅包含键值大于该节点键值的节点。
- 左、右子树均为二叉搜索树。
我尝试通过检查每个节点是否为BST,然后计算其和来解决此问题。但是我的方法超时了。应该采用什么优化方法来解决此问题?
假设BST的定义如下:
- 节点的左子树仅包含键值小于该节点键值的节点。
- 节点的右子树仅包含键值大于该节点键值的节点。
- 左、右子树均为二叉搜索树。
我尝试通过检查每个节点是否为BST,然后计算其和来解决此问题。但是我的方法超时了。应该采用什么优化方法来解决此问题?