Leetcode 538: 把二叉搜索树转换为累加树 是一道经典的树问题,考察的是二叉树的遍历、递归思想以及对二叉搜索树 (BST) 特性的理解。
题目描述
将给定的二叉搜索树 (BST) 转化成累加树 (Greater Tree),使得每个节点的值是原树中所有大于或等于该节点值的节点值的和。
示例
输入:
4
/ \
1 6
输出:
10
/ \
16 6
- 节点
10 = 节点值 4 + 6
- 节点
16 = 节点值 1 + 4 + 6(包括自身,以及右子树所有节点等于或大于1的值)
解法一:反向中序遍历 + 累加器
(推荐解法:递归实现 + 累加变量)
思路