leetcode题解538-把二叉搜索树转化为累加树
问题描述
给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。
解题思路
要找到比某个结点值都大的所有结点,我们就应该想到有序性,这样每次找到一个结点,我们就让它加上后面所有结点的值即可。因为是**二叉搜索树,中序遍历结果有序,而我们想要得到的应该是逆中序序列,所以我们应该选择先遍历右子树,再遍历左子树。**另外,由于我们事先不知道结点的个数,所以我们应该用集合来存储累加后结点的值,因为是从值
原创
2020-10-10 15:44:35 ·
1620 阅读 ·
1 评论