好一点的网站建设,常见的网络营销策略都有哪些,天猫开店流程及费用标准多少,云南省网站建设收费调查报告538. 把二叉搜索树转换为累加树
解题思路
改造中序遍历算法因为中序遍历的结果都是有顺序的 升序排序#xff0c;那么如果先遍历右子树 在遍历左子树 那么结果就是降序的最后我们设置一个变量 累加所有的中间值 那么得到的结果就是比当前节点大的所有节点的值 /*** Definiti…538. 把二叉搜索树转换为累加树
解题思路
改造中序遍历算法因为中序遍历的结果都是有顺序的 升序排序那么如果先遍历右子树 在遍历左子树 那么结果就是降序的最后我们设置一个变量 累加所有的中间值 那么得到的结果就是比当前节点大的所有节点的值 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val val;* this.left left;* this.right right;* }* }*/
class Solution {int sum 0;public TreeNode convertBST(TreeNode root) {// 改造中序遍历算法traverse(root);return root;}void traverse(TreeNode root){if(root null){return;}traverse(root.right);sum root.val;// 每次叠加最大值 比他大的所有节点// 将BST 转化为累加树root.val sum;traverse(root.left);}
}