538. Convert BST to Greater Tree

Posted andywu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了538. Convert BST to Greater Tree相关的知识,希望对你有一定的参考价值。

Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original BST is changed to the original key plus sum of all keys greater than the original key in BST.

Example:

Input: The root of a Binary Search Tree like this:
              5
            /              2     13

Output: The root of a Greater Tree like this:
             18
            /             20     13
题目含义::给定一棵二叉搜索树,将它转化为更大的二叉树,规则是:结点的值 = 该结点的值 + 所有比它大的结点的值的和。

 1     int sum = 0;
 2     void convert(TreeNode cur) {
 3         if (cur == null) return;
 4         convert(cur.right);
 5         sum += cur.val;
 6         cur.val = sum;
 7         convert(cur.left);
 8     }
 9     public TreeNode convertBST(TreeNode root) {
10         convert(root);
11         return root;        
12     }

 

以上是关于538. Convert BST to Greater Tree的主要内容,如果未能解决你的问题,请参考以下文章

538. Convert BST to Greater Tree

538. Convert BST to Greater Tree

538. Convert BST to Greater Tree

538. Convert BST to Greater Tree

Leetcode 538. Convert BST to Greater Tree

[LeetCode] 538. Convert BST to Greater Tree