后序遍历内探

二叉树相关题目的核心思路就是明确当前节点需要做的事情是什么。

如果当前节点要做的事情需要通过左右子树的计算结果推导出来,就要用到后序遍历

01 二叉搜索树子树的最大键值和

给你一棵以 root 为根的 二叉树 ,请你返回 任意 二叉搜索子树的最大键值和。

二叉搜索树的定义如下:

任意节点的左子树中的键值都 小于 此节点的键值。
任意节点的右子树中的键值都 大于 此节点的键值。
任意节点的左子树和右子树都是二叉搜索树。

比如如下图例子:

2.1.5 后序遍历内探 - 图1

如果输入这棵二叉树,算法应该返回 20,因为它是一棵 BST,且节点之和最大。此外,按照 BST 定义,任何一个单独的节点肯定是 BST。