LeetCode/538. 把二叉搜索树转换为累加树
538. 把二叉搜索树转换为累加树
给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。
例如:
输入: 原始二叉搜索树:
5
/ \
2 13
输出: 转换为累加树:
18
/ \
20 13
来源:力扣(LeetCode)
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题解:
本题官方的反中序遍历方法确实很厉害,但是也不是那么的高不可攀。我们一看到题目,最原始的想法就是,右边比左边大,那么就应该先把右子树处理完,然后得到一个累加值,然后再处理左子树各个节点,其实这就是中序遍历逆过来遍历。
具体代码如下:
1 | class Solution { |

