538. Convert BST to Greater Tree
Posted Wanna_Go
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给定一个二叉搜索树,要求更改每个节点的值为树中其它比他大的节点值之和。二叉搜索树的特点是中序遍历的结果为一个从小到大的序列。
每个节点的值为其右侧所有节点的和,可以使用中序遍历的方法求解该问题,
class Solution { int sum = 0; //全局变量 public TreeNode convertBST(TreeNode root) { if(root == null) return null; convertBST( root.right);//先右边 root.val += sum; sum = root.val; convertBST( root.left); return root; } }
以上是关于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