杭州企业网站建设公司怎么样,有没有专门交人做美食的视频网站,免费下载百度并安装,专业营销网站带客给定一个二叉搜索树#xff08;Binary Search Tree#xff09;#xff0c;把它转换成为累加树#xff08;Greater Tree)#xff0c;使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 对于每一个点来说#xff0c;自己的父#xff0c;和自己父的右子树都是大…给定一个二叉搜索树Binary Search Tree把它转换成为累加树Greater Tree)使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 对于每一个点来说自己的父和自己父的右子树都是大于自己的。
所以我们按右中左的顺序遍历每个遍历到的值比它大的值一定都被遍历过了。
遍历过程中记录和就好。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/
class Solution {int add 0;public TreeNode convertBST(TreeNode root) {if (root null) return root;convertBST(root.right);root.val add;add root.val;convertBST(root.left);return root;}
}